srilekhamenon Ответов: 1

Как pinvoke структуру в C# ?


это моя структура C, которую я хочу pinvoke

typedef struct _SCANNER_NOTIFICATION {
	
	ULONG ProcessId;
	USHORT FileNameLength;	//string length
	WCHAR FileName[1];	//Variable length string

} SCANNER_NOTIFICATION


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

[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
       public struct SCANNER_NOTIFICATION
       {

           /// ULONG->int
           public int ProcessId;

           /// USHORT->short
           public short FileNameLength;

           /// WCHAR[1]
           public IntPtr FileName;
       }

KarstenK

по моему опыту, проще ли попробовать с именем файла WCHAR[0x100];

1 Ответов

Рейтинг:
2

Richard MacCutchan

Вы не можете P/вызвать структуру. Вы P/вызываете библиотечный метод для добавления содержимого в структуру или удаления содержимого из нее. Поэтому вам необходимо предоставить информацию о том, какую библиотеку вы пытаетесь использовать с этой структурой.