typedef struct _ft_device_list_info_node {
DWORD Flags;
DWORD Type;
DWORD ID;
DWORD LocId;
char SerialNumber[16];
char Description[64];
FT_HANDLE ftHandle;
} FT_DEVICE_LIST_INFO_NODE;
//funkci se preda ukazatel na vyse uvedenou strukturu
FT_STATUS SPI_GetChannelInfo(uint32 index, FT_DEVICE_LIST_INFO_NODE *chanInfo);
Zkoušel jsem do C# převést takto:
public struct FT_DEVICE_LIST_INFO_NODE
{
public uint Flags;
public uint Type;
public uint ID;
public uint LocID;
public byte[] SerialNumber;
public byte[] Description;
public uint ftHandle;
}
[DllImport("libMPSSE.dll", CallingConvention = CallingConvention.Cdecl)]
protected static extern uint SPI_GetChannelInfo(uint index, ref FT_DEVICE_LIST_INFO_NODE chanInfo);
Při volání funkce nastane vyjímka Acces Violation...
Jak správně napsat strukturu aby to fungovalo?
hu
Ahoj,
mám problém s použitím struktury. Původní C kód je: