2010-12-28 7 views
11

NT имеет в основном недокументированный API, называемый «Native API», на котором реализованы общие подсистемы (то есть API Windows, OS/2 API и POSIX (обычно называемые «подсистемы Interix»).Есть ли обновленные книги или веб-сайты в Windows NT Native API?

Несколько книг и веб-сайты существуют, которые пытаются документировать этот API:

К сожалению, ни одна из книг или веб-сайтов я не могу попытаться коснуться 64-разрядных версий Windows (за исключением WDK, но WDK ограничен ...). API называет себя одинаковым - большая проблема связана с самими определениями структуры. А именно: значение указателя и DWORD одинакового размера на 32-битных платформах, но разные на платформах x64. Таким образом, бит «неизвестного дополнения» структур, которые часто определяются как массив DWORD, ошибочны в окнах x64, и результатом является полный мусор.

Я вручную работаю над этими вещами, добавляя дополнительное дополнение в ручную для каждого вызова API, но это становится очень расстраивающим, и было бы неплохо иметь ресурс, который просто документировал эти вещи, чтобы они 'd правильно использовать указатели вместо DWORD, где это необходимо, так что определение одной структуры может служить как для 32-битной, так и для 64-битной Windows.

Существует ли такой ресурс?

+0

Я ничего не видел на x64, если честно, но вам может повезти проверить, получил ли ntlib 64-битное обновление, вы также можете проверить openrce.org, посмотреть, есть ли у них что-нибудь. Иначе вам придется ждать 64-битной утечки источника Windows: p – Necrolis

ответ

9

http://doxygen.reactos.org/annotated.html help? ReactOS, очевидно, не Windows, но он должен реализовать достаточно встроенного API для совместимости с драйверами и программами, которые используют недокументированные API, поэтому этого может быть достаточно, чтобы помочь вам.

+0

Хм ... интересно. +1. –

+0

Вы также можете рассмотреть реализацию Wine [ntdll] (http://source.winehq.org/source/dlls/ntdll) в качестве документации –