Typenumwandlung



  • Hallo Forum,

    ich bin gerade dabei ein Programm von C# zu C++ zu portieren.
    Nun macht mir eine Codezeile in C# ein Problem:

    // Zur Info: IntPtr hRequest;

    LINEDEVSPECIFIC_STRUCT linedevspecific_struct1 = (LINEDEVSPECIFIC_STRUCT) Marshal.PtrToStructure(hRequest, typeof(LINEDEVSPECIFIC_STRUCT));

    Wie kann ich diese Zeile nach C++ (nicht C++/CLI) portieren?
    Betrifft indirekt das Thema TAPI/SMDR.

    Danke und lieben Gruß

    Thomas


  • Mod

    IMHO ist es nur ein Pointer Zugriff auf hRequest.

    LINEDEVSPECIFIC_STRUCT linedevspecific_struct1 = *reinterpret_cast<LINEDEVSPECIFIC_STRUCT*>(hRequest);
    

    Wenn Du sagst woher Du hRequest hast, kann ich Dir mehr sagen.



  • Hallo Martin,

    danke erstmal für die Antwort. Hier ein Snippet:

    IntPtr ptr1 = new IntPtr();

    ...

    SmdrPrint.LINEMESSAGE_STRUCT linemessage_struct1 = new LINEMESSAGE_STRUCT();

    ...

    ptr1 = (IntPtr) dictionary1[linemessage_struct1.dwParam1]; // dwParam1 = int

    ptr1 wird dann an eine Funktion übergeben. = hRequest

    Wie würde ich denn "PtrToStringAnsi" nach C++ übersetzen?

    Danke und mfG

    Thomas


Anmelden zum Antworten