Hi All, This is driving me nuts!Native Call question. I have a Pointer ($ppSessionInf). It points to a structure of $pCount bytes. How do I load what $ppSessionInf points to into $Sessions # something gets assigned to it from an API call my Pointer $ppSessionInf = Pointer.new(); # length of the data I want also from the API call my DWORD $pCount; # length of the data I want # Buffer I want the data pointer to by # $ppSessionInf loaded into my BYTES $Sessions = CArray[BYTE].new( 0xFF xx $pCount ); $Sessions = $ppSessionInf.deref; Which obviously does not work: Internal error: unhandled target type Many thanks, -T
On Wed, Nov 23, 2022 at 9:21 PM Clifton Wood <[email protected] <mailto:[email protected]>> wrote:@ToddAndMargo <mailto:[email protected]> - Did you try my suggestion with GLib::Roles::TypedBuffer? The "unhandled target type" occurs when NativeCall can't figure out how to deref the referenced value. In this case, this would be the BYTE of the CArray. What type is BYTE, pray tell? - Cliff On Wed, Nov 23, 2022 at 9:08 PM ToddAndMargo via perl6-users <[email protected] <mailto:[email protected]>> wrote: removing my typos:
On 11/23/22 18:22, Clifton Wood wrote:
@ToddAndMargo <mailto:[email protected]> -- Also, Pointer cannot deref a Pointer, which I think is the real error.
How do I load what $ppSessionInf points to into $Sessions?
