QueryWorkingSetEx 関数 (psapi.h)

指定したプロセスのアドレス空間内の特定の仮想アドレスにあるページに関する拡張情報を取得します。

構文

BOOL QueryWorkingSetEx(
  [in]      HANDLE hProcess,
  [in, out] PVOID  pv,
  [in]      DWORD  cb
);

パラメーター

[in] hProcess

プロセスのハンドル。 ハンドルには 、PROCESS_QUERY_INFORMATION アクセス権が必要です。 詳細については、「 セキュリティとアクセス権の処理」を参照してください。

[in, out] pv

PSAPI_WORKING_SET_EX_INFORMATION構造体の配列へのポインター。 入力時に、配列内の各項目は目的の仮想アドレスを指定します。 出力時に、配列内の各項目は、対応する仮想ページに関する情報を受け取ります。

[in] cb

pv バッファーのサイズ (バイト単位)。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

QueryWorkingSet 関数 (ターゲット プロセスのワーキング セットに限定) とは異なり、QueryWorkingSetEx 関数を使用して、プロセスワーキング セットに含まれていないが、AWE や大きなページなどのプロセスの一部であるアドレスをクエリできます。

Windows 7 および Windows Server 2008 R2 以降、Psapi.h は PSAPI 関数のバージョン番号を確立します。 PSAPI バージョン番号は、関数の呼び出しに使用される名前と、プログラムが読み込む必要があるライブラリに影響します。

PSAPI_VERSIONが 2 以上の場合、この関数は Psapi.h で K32QueryWorkingSetEx として定義され、Kernel32.lib および Kernel32.dll でエクスポートされます。 PSAPI_VERSION が 1 の場合、この関数は Psapi.h で QueryWorkingSetEx として定義され、Psapi.lib でエクスポートされ、K32QueryWorkingSetEx を呼び出すラッパーとして Psapi.dll されます。

以前のバージョンの Windows および Windows 7 以降のバージョンで実行する必要があるプログラムは、常に この関数を QueryWorkingSetEx として呼び出す必要があります。 シンボルを正しく解決するには、PSapi.lib を TARGETLIBS マクロに追加し、プログラムを "–DPSAPI_VERSION=1" でコンパイルします。 実行時の動的リンクを使用するには、Psapi.dll を読み込みます。

例については、「 NUMA ノードからのメモリの割り当て」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista、Windows XP Professional x64 Edition [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008、Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー psapi.h
Library Windows 7 および Windows Server 2008 R2 の Kernel32.lib。Windows 7 および Windows Server 2008 R2 の Psapi.lib (PSAPI_VERSION=1 の場合)。Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP の Psapi.lib
[DLL] Windows 7 および Windows Server 2008 R2 で Kernel32.dll。Windows 7 および Windows Server 2008 R2 で Psapi.dll (PSAPI_VERSION=1 の場合)。Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP の Psapi.dll

こちらもご覧ください

EnumProcesses

PSAPI 関数

PSAPI_WORKING_SET_EX_INFORMATION

ワーキング セット情報