Versteht das jemand?



  • Ich bin gerade dabei eine C-Dll in eine C# Dll einzubinden und hab hier einen Typ bei dem ich nicht weiß wie ich ihn marshaln soll weil ich den Typ nicht erkenne.

    Hier mal ein Codeausschnitt der Header-Datei:

    typedef struct _DDCFile			DDCFile;
    typedef struct _DDCChannelGroup		DDCChannelGroup;
    typedef struct _DDCChannel			DDCChannel;
    
    typedef DDCFile*				DDCFileHandle;
    typedef DDCChannelGroup*			DDCChannelGroupHandle;
    typedef DDCChannel*			DDCChannelHandle;
    

    Es geht um den Typ DDCFileHandle. Das typedef DDCFile* DDCFileHandle ist noch klar.
    Wenn ich aber schauen will welchen Typ DDCFile hat, wirds verwirrend.
    Ich werd irgendwie aus dem

    typedef struct _DDCFile			DDCFile;
    

    Ich kenne dieses Konstrukt nur, wenn man gleichzeitig auch eine Struktur definiert. Hier aber passiert gar nichts.

    Kann mir jemand sagen was da jetzt für ein Typ dahinter steckt damit ich ihn richtig marshaln kann?

    Vielen Dank schonmal im voraus

    mfg Tom



  • TomTom85 schrieb:

    ...marshaln...

    wass'n das 😕
    aber frag am besten im .NET forum.
    🙂



  • Es geht hier gar nicht um marshaln.
    Es geht eigentlich nur um den C-Code. Ich versteh dieses Konstrukt nicht



  • TomTom85 schrieb:

    Es geht eigentlich nur um den C-Code. Ich versteh dieses Konstrukt nicht

    dieses konstrukt typedef struct _DDCFile DDCFile; definiert einen neuen typ 'DDCFile'. verwenden kann man ihn aber erst (mit ausnahme von pointern darauf), wenn die struct _DDCFile dem compiler bekannt ist. irgendwo in deinen source codes müsste die also sein.
    🙂



  • ahja jetzt versteh ich. thx


Anmelden zum Antworten