According to the Win32::API documentation, it's required to pack and unpack
data going to/coming from a C structure. That makes sense, and I've gotten
it to work, but I'm a little confused with a certain setup in a DLL I'm
trying to access. In its function prototypes, I have the following:
struct GMWnv;
typedef GMWnv *HGMNV;
HGMNV __stdcall GMW_NV_Create();
void __stdcall GMW_NV_SetValue(HGMNV htmnv, const char* name, const
char*value);
-----------------
In Perl, I've written this:
$GMW_NV_Create = new Win32::API("gm5s32", "GMW_NV_Create", [], P);
$GMW_NV_SetValue = new Win32::API("gm5s32", "GMW_NV_SetValue", [P, P, P],
V);
$NewNV = $GMW_NV_Create->Call;
$GMW_NV_SetValue->Call($NewNV, "Name", "John");
-----------------
It's a simplified example, but shows what I'm trying to do. Essentially,
the GMW_NV_Create function in the DLL returns a pointer to a Name-Value
container. GMW_NV_SetValue takes a container pointer obtained via the
Create function and adds a name-value pair to it. There are other
functions to retrieve data from the container as well...
Here's my problem. As the code stands right now, perl will bomb. I'm
guessing that I somehow need to pack and/or unpack the value assigned to
$NewNV when I send it on to other functions. Problem is, I don't have a
clue how to do that :) Anyone have any ideas/suggestions?
Many thanks in advance!!
John
---
You are currently subscribed to perl-win32-users as: [[email protected]]
To unsubscribe, forward this message to
[EMAIL PROTECTED]
For non-automated Mailing List support, send email to
[EMAIL PROTECTED]