NTには、Windows API、OS/2 API、およびPOSIX(通常は「Interix」サブシステムと呼ばれる)の共通サブシステムが実装されている「ネイティブAPI」と呼ばれるほとんどの文書化されていないAPIが実装されています。Windows NTネイティブAPIに最新の書籍やウェブサイトがありますか?
いくつかの書籍やウェブサイト、このAPIを文書化しようとした存在:
- 、これらの機能のいくつかは、Windows Driver Kit
- Undocumented Windows 2000 Secrets, A Programmers Cookbook, by Sven V. Schreiber
- Undocumented NTernals
- Windows NT/2000 Native API Reference, by Gary Nebbett
- NirSoft's Windows Vista Kernel Structures に記載されています
残念ながら、64ビット版のWindowsに手を触れようとしている書籍やウェブサイトは1つではありません(もちろんWDKは例外ですが、WDKは限られています)。 API呼び出し自体は同じです。大きな問題は構造定義自体と関係しています。すなわち、ポインタ値とDWORDは32ビットプラットフォームでは同じサイズですが、x64プラットフォームでは異なります。したがって、しばしばDWORDの配列として定義されている構造体の「未知のパディング」ビットは、x64ウィンドウでは間違っています。その結果、まったくのゴミが発生します。
APIコールごとに追加のパディングを手作業で追加することで、手動でこれらの問題を回避していますが、これは本当にイライラしています。これらのことを文書化したリソースがあれば必要に応じてDWORDの代わりにポインタを正しく使用して、1つの構造体定義が32ビットと64ビットの両方のWindowsに対応できるようにします。
このようなリソースは存在しますか?
正直言ってx64には何も見たことがありませんが、ntlibが64ビットアップデートを受け取った場合には幸運な点検を受けるかもしれません、openrce.orgをチェックして、それ以外の場合は、64ビットのWindowsソースリークを待たなければならないでしょう:p – Necrolis