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: [archive@jab.org] To unsubscribe, forward this message to [EMAIL PROTECTED] For non-automated Mailing List support, send email to [EMAIL PROTECTED]