2013-05-14 3 views
1

я получаю функции из ntdll.dll динамически, используя GetProcAddress функцию WinAPI так:Как вызвать функцию winapi с помощью указателя на эту функцию?

HMODULE ntdllh = LoadLibrary(L"ntdll.dll"); 
unsigned char* ptrToNtLoadDriver 
         = (unsigned char*)GetProcAddress(ntdllh, "NtLoadDriver"); 

Как я могу вызвать функцию NtLoadDriver через ptrToNtLoadDriver? Я подумал о чем-то вроде этого: ((NTSTATUS NtLoadDriver(PUNICODE_STRING driverServiceName))ptrToNtLoadDriver)(fooString)

ответ

1
  1. сделать ЬурейиЙ "X" для типа функции вы хотите позвонить (например: "ЬурейеЕ ReturnType (* X) (тип аргумент);")
  2. изменения "неподписанный символ * ptrToNtLoadDriver" для "X ptrToNtLoadDriver"
  3. функция вызова как «ptrToNtLoadDriver (argsHere)»
0

((NTSTATUS (WINAPI *) (PUNICODE_STRING)) ptrToNtLoadDriver) (fooStrin);

 Смежные вопросы

  • Нет связанных вопросов^_^