@ToddAndMargo <toddandma...@zoho.com> - 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 <
perl6-us...@perl.org> wrote:

> removing my typos:
>
>
> 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
>
>

Reply via email to