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 <clifton.w...@gmail.com <mailto:clifton.w...@gmail.com>> wrote:

    @ToddAndMargo <mailto: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-users@perl.org <mailto:perl6-users@perl.org>> wrote:

        removing my typos:


On 11/23/22 18:22, Clifton Wood wrote:
@ToddAndMargo <mailto:toddandma...@zoho.com> -- Also, Pointer cannot deref a Pointer, which I think is the real error.


How do I load what $ppSessionInf points to into $Sessions?


Reply via email to