12

NT には、"ネイティブ API" と呼ばれるほとんど文書化されていない API があります。この API には、共通のサブシステム (つまり、Windows API、OS/2 API、および POSIX (現在は通常 " Interix " と呼ばれます) サブシステム) が実装されています。

この API を文書化しようとする書籍や Web サイトがいくつかあります。

残念ながら、64 ビット バージョンの Windows に触れようとしている書籍や Web サイトは 1 つもありません (もちろん WDK は除きますが、WDK には制限があります...)。API 呼び出し自体は同じです。大きな問題は、構造定義自体に関係しています。つまり、ポインター値と DWORD は 32 ビット プラットフォームでは同じサイズですが、x64 プラットフォームでは異なります。したがって、DWORD の配列として定義されることが多い構造の「不明なパディング」ビットは、x64 ウィンドウでは正しくなく、結果は完全にゴミになります。

API呼び出しごとに手動で追加のパディングを追加することで、これらの種類のことを手動で回避してきましたが、これは本当にイライラしています.必要に応じて DWORD の代わりにポインターを使用して、1 つの構造定義で 32 ビットと 64 ビットの両方の Windows に対応できるようにします。

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

4

1 に答える 1

10

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

于 2010-12-29T07:45:32.557 に答える