PGET_SYSTEM_WOW64_DIRECTORY_W
コールバックシグネチャ
DWORD PGET_SYSTEM_WOW64_DIRECTORY_W(
LPWSTR lpBuffer,
DWORD uSize
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| lpBuffer | LPWSTR | パスを受け取るバッファーへのポインターです。このパスの末尾にバックスラッシュは付きません。 |
| uSize | DWORD | バッファーの最大サイズです (TCHARs 単位)。 |
公式ドキュメント
WOW64 が使用するシステムディレクトリのパスを取得します。このディレクトリは 32 ビット版の Windows には存在しません。
戻り値
関数が成功した場合、戻り値はバッファーにコピーされた文字列の長さ (TCHARs 単位) で、終端の null 文字は含みません。その長さがバッファーのサイズより大きい場合、戻り値はパスを格納するために必要なバッファーのサイズです。
関数が失敗した場合、戻り値は 0 です。拡張エラー情報を取得するには、 GetLastError を呼び出します。
32 ビット版の Windows では、この関数は常に失敗し、拡張エラーは ERROR_CALL_NOT_IMPLEMENTED に設定されます。
解説(Remarks)
WOW64 は、64 ビット版の Windows で共有される 32 ビットコードを格納するためにシステムディレクトリを使用します。ほとんどのアプリケーションでは、このディレクトリに明示的にアクセスする必要はありません。
WOW64 の詳細については、 32 ビットアプリケーションの実行を参照してください。
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNT を 0x0501 以降として定義します。詳細については、 Windows ヘッダーの使用を参照してください。
wow64apiset.h ヘッダーは、GetSystemWow64Directory を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI 版と Unicode 版を自動的に選択するエイリアスとして定義しています。エンコーディングに依存しないこのエイリアスを、エンコーディングに依存するコードと混在させて使用すると、不一致が生じてコンパイルエラーや実行時エラーの原因となることがあります。詳細については、関数プロトタイプの規則を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)