9 messages in net.java.dev.jna.usersRe: [jna-users] Need help for beginner
FromSent OnAttachments
Hao JiangFeb 10, 2009 3:16 pm 
Daniel KaufmannFeb 10, 2009 4:58 pm 
Timothy WallFeb 10, 2009 5:00 pm 
Hao JiangFeb 11, 2009 9:08 am 
Hao JiangFeb 11, 2009 12:53 pm 
Timothy WallFeb 11, 2009 2:09 pm 
Timothy WallFeb 11, 2009 2:11 pm 
Hao JiangFeb 11, 2009 2:35 pm 
Hao JiangFeb 12, 2009 9:41 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [jna-users] Need help for beginnerActions...
From:Timothy Wall (twal@dev.java.net)
Date:Feb 10, 2009 5:00:10 pm
List:net.java.dev.jna.users

On Feb 10, 2009, at 6:16 PM, Hao Jiang wrote:

Hi,

I just found this tool and hope it can solve my problem, I'm in a rush to finish some work so will really appreciate if someone can help me out

Basically I need to access 2 functions in a dll

int Load

( const char* aFilename,

Handle* aLayer,

int aLoadFlags);

typedef void* Handle;

here I translate it into java function

int load(String fName, PointerByReference pr, int flag);

It seems working, the return int is an error code which tells me no error.

Then I need to call this function

const Info* Info

(

Handle aLayer

);

Here Info is a structure and I've created class for it extends Structure, I translate this function in java like this

Pointer Info(Pointer p);

Call it after the first function

PointerByReference pr = new PointerByReference(); Int error = load("a.txt", pr, 0); Pointer p = Info(pr.pr.getPointer());

Use pr.getValue(), not pr.getPointer(). The former is the returned pointer value, the latter is the address where the value was stored.

No error so far, I just have no idea how to continue to get structure (Info) out of Pointer (p)

Thanks for any help

Hao

Structure.useMemory(Pointer) followed by Structure.read(). Or simply declare the return type to be your structure type.