2010-12-28 21 views
11

NTには、Windows API、OS/2 API、およびPOSIX(通常は「Interix」サブシステムと呼ばれる)の共通サブシステムが実装されている「ネイティブAPI」と呼ばれるほとんどの文書化されていないAPIが実装されています。Windows NTネイティブAPIに最新の書籍やウェブサイトがありますか?

いくつかの書籍やウェブサイト、このAPIを文書化しようとした存在:

残念ながら、64ビット版のWindowsに手を触れようとしている書籍やウェブサイトは1つではありません(もちろんWDKは例外ですが、WDKは限られています)。 API呼び出し自体は同じです。大きな問題は構造定義自体と関係しています。すなわち、ポインタ値とDWORDは32ビットプラットフォームでは同じサイズですが、x64プラットフォームでは異なります。したがって、しばしばDWORDの配列として定義されている構造体の「未知のパディング」ビットは、x64ウィンドウでは間違っています。その結果、まったくのゴミが発生します。

APIコールごとに追加のパディングを手作業で追加することで、手動でこれらの問題を回避していますが、これは本当にイライラしています。これらのことを文書化したリソースがあれば必要に応じてDWORDの代わりにポインタを正しく使用して、1つの構造体定義が32ビットと64ビットの両方のWindowsに対応できるようにします。

このようなリソースは存在しますか?

+0

正直言ってx64には何も見たことがありませんが、ntlibが64ビットアップデートを受け取った場合には幸運な点検を受けるかもしれません、openrce.orgをチェックして、それ以外の場合は、64ビットのWindowsソースリークを待たなければならないでしょう:p – Necrolis

答えて

9

http://doxygen.reactos.org/annotated.htmlは役に立ちますか? ReactOSは明らかにWindowsではありませんが、ドキュメント化されていないAPIを使用するドライバやプログラムと互換性があるためには、ネイティブAPIを十分に実装する必要があります。

+0

うーん、面白いです。 +1。 –

+0

また、Wineの[ntdll](http://source.winehq.org/source/dlls/ntdll)の実装をドキュメントとして考えることもできます –

関連する問題