используя NtCreateSection из ntdll.lib - PullRequest
1 голос
/ 22 декабря 2011

Я просто пытался использовать NtCreateSection в моем коде, а информация по этой ссылке указывает на требование как ntdll.lib. Поскольку я использую VS2010, я пошел в Проекты> Свойства> Линкер> Ввод> Дополнительные зависимости и добавил ntdll.lib.

Однако при построении решения я получаю ошибку error C3861: 'NtCreateSection': identifier not found. Мне интересно, почему это происходит.

Обходное решение, которое я рассматриваю, - получение дескриптора для ntdll с помощью LoadLibrary и получение дескриптора для NtCreateSection с помощью GetProcAddress; однако мне просто любопытно, почему предыдущий метод не сработал.

Спасибо!

1 Ответ

1 голос
/ 22 декабря 2011

Возможно, интерес представляет фактическая документация функции: http://msdn.microsoft.com/en-us/library/windows/hardware/ff556473(v=vs.85).aspx

Это указывает на функцию ZwCreateSection, которая отмечает, что NtCreateSection - это имя, которое будет использоваться для вызовов пользовательского режима к этой функции: http://msdn.microsoft.com/en-us/library/windows/hardware/ff566428(vr85).aspx

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...