K32GetWsChanges

この関数または InitializeProcessForWsWatch 関数が最後に呼ばれて以降、指定したプロセスのワーキング セットに追加されたページに関する情報を取得する。

K32GetWsChanges hProcess, lpWatchInfo, cb

hProcess : [intptr] プロセスへのハンドル。ハンドルは PROCESS_QUERY_INFORMATION アクセス権を持っていなければならない。詳細は Process Security and Access Rights を参照のこと。
lpWatchInfo : [var] PSAPI_WS_WATCH_INFORMATION 構造体の配列を受け取る、ユーザーが確保したバッファへのポインタ。配列は FaultingPc メンバが NULL の構造体で終端される。
cb : [int] lpWatchInfo バッファのサイズ(バイト単位)。

(プラグイン / モジュール : kernel32.dll)

解説

この関数または InitializeProcessForWsWatch 関数が最後に呼ばれて以降、指定したプロセスのワーキング
セットに追加されたページに関する情報を取得する。

[戻り値]
関数が成功した場合、戻り値は 0 以外となる。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには
GetLastError を呼ぶ。
lpWatchInfo バッファがすべてのワーキング セット変更レコードを収めるのに十分大きくない場合、GetLastError は
ERROR_INSUFFICIENT_BUFFER を返し、バッファは空で返される。より大きなメモリ
ブロックを再確保して再度呼び出すこと。

[備考]
OS はワーキング セット変更レコードの保持にプロセスごとに 1
つのバッファを使う。複数のアプリケーション(または同一アプリケーション内の複数スレッド)が同じプロセス
ハンドルでこの関数を呼ぶと、各呼び出しがバッファを空にするため、どのアプリケーションもワーキング
セット変更の完全な内訳を取得できない。OS
は問い合わせ処理中(バッファを空にしている間)は新しい変更レコードを記録しない。別の問い合わせ処理中に並行問い合わせを受けた場合、関数はエラー
コードを NO_MORE_ENTRIES に設定する。バッファが一杯になると、この関数または
InitializeProcessForWsWatch
関数が呼ばれるまで新しいレコードはバッファに追加されない。データの損失を防ぐためにこのメソッドは十分な頻度で呼ぶべきである。レコードが失われた場合、配列は
FaultingPc メンバが NULL で FaultingVa
メンバが失われたレコード数に設定された構造体で終端される。Windows Server 2003 および Windows XP
では、レコードが失われた場合、配列は FaultingPc が NULL で FaultingVa が 1
の構造体で終端される。Windows 7 および Windows Server 2008 R2 以降、Psapi.h は PSAPI
関数のバージョン番号を定めている。PSAPI
バージョン番号は、関数を呼ぶときに使う名前とプログラムが読み込むライブラリに影響する。PSAPI_VERSION が 2
以上の場合、この関数は Psapi.h で K32GetWsChanges として定義され、Kernel32.lib と
Kernel32.dll にエクスポートされる。PSAPI_VERSION が 1 の場合、Psapi.h で GetWsChanges
として定義され、Psapi.lib と Psapi.dll に K32GetWsChanges
を呼ぶラッパーとしてエクスポートされる。旧バージョンの Windows と Windows 7 以降の両方で動かすプログラムは常に
GetWsChanges として呼ぶべきである。シンボルを正しく解決するためには、TARGETLIBS マクロに Psapi.lib
を追加し、-DPSAPI_VERSION=1 付きでコンパイルする。実行時動的リンクを使うには Psapi.dll を読み込む。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs