У меня есть основное приложение, написанное на C #, которое работает как x64-битное приложение, оно связывается через импорт dll со стандартным собственным неуправляемым dll C / C ++, заголовок которого у меня есть.
Мне нужна помощь для установки правильных типов данных.
Итак, я раскрываю один из методов, которые мне нужно вызвать, и типы данных, определенные в заголовке dll.
typedef int DLL_IMP_EXP (* INJECTDLL)(HANDLE, DWORD, LPCTSTR, DWORD, HINSTANCE *);
РУЧКА определяется как void *
DWORD определяется как unsigned long
LPCTSTR определяется как __ ноль определено CONST CHAR *
HINSTANCE дает мне эту строку для определения: DECLARE_HANDLE (HINSTANCE); ?!?
Использование объявления функции в Юникоде:
LPCWSTR определяется как __ ноль определенное значение CONST WCHAR *
Пожалуйста, помогите мне написать правильную декларацию:
[DllImport ("Inject.dll", VariousParameters)]
public static extern int InjectDll(CorrectDataTypes);
Компиляция Различные параметры при необходимости и, очевидно, CorrectDataTypes .