Basil PP Ответов: 1

Как преобразовать этот код C++ в код C# (plz дайте мне решение)


typedef struct _GLYDEPOSITCOUNTER_EX {
	unsigned int EventNumber;						 
	struct tm Time;									
	unsigned int dwSquentialNo;						 
	unsigned int dwTransactionNo;								
	char chUserID[GLY_DEPOSIT_OPERATORID_ASCIIMAX];	
	GLYCOUNTERS DepositData;						
} GLYDEPOSITCOUNTER_EX, *LPGLYDEPOSITCOUNTER_EX;


typedef struct _GLYDENOMINATION {
    unsigned int  ulArraySize;
    LPGLYCURRENCY lpCurrencies;
} GLYDENOMINATION, *LPGLYDENOMINATION;

typedef struct _GLYCOUNTER {
    unsigned int    dwID;
    unsigned int    dwStatus;
    GLYDENOMINATION Denomination;
    void* misc;
} GLYCOUNTER, *LPGLYCOUNTER;


Что я уже пробовал:

я попробовал с этими двумя

[MarshalAs(UnmanagedType.Struct)]
public GloryDE100.Internal._GLYCOUNTERS DepositData;
            

[MarshalAs(UnmanagedType.SysInt)]
public IntPtr DepositData;



-----------------GloryDE100 такое DLL------------------------

GKP1992

Возможный дубликат на https://www.codeproject.com/Questions/555113/isplusthereplusanyplustoolsplusavailable

1 Ответов

Рейтинг:
0

Richard MacCutchan

Вам нужно объявить все поля структуры. Видеть Класса Атрибута Structlayoutattribute (Системы.Во время выполнения.InteropServices)[^].