GetWriteWatch |
Declare Function Api_GetWriteWatch& Lib "kernel32" Alias "GetWriteWatch" (ByVal dwFlags&, lpBaseAddress As Any, ByRef dwRegionSize&, lpAddresses As Any, ByRef lpdwCount&, ByRef lpdwGranularity&) |
Declare Function GetWriteWatch Lib "kernel32" Alias "GetWriteWatch" (ByVal dwFlags As Long, lpBaseAddress As Any, ByRef dwRegionSize As Long, lpAddresses As Any, ByRef lpdwCount As Long, ByRef lpdwGranularity As Long) As Long |
|
仮想メモリの領域に書き込まれたページのアドレスを取得する。 |
|
パラメータ
WRITE_WATCH_FLAG_RESET に設定する。0 を指定すると、書き込みトラッキング状態はリセットされない。
た VirtualAlloc 関数で確保したメモリ領域に含まれていなければならない。
は書き込みトラッキング情報をリセットした後に、書き込みが行われたページを示す。
はこの配列内に返されたページアドレスの数を受け取る。 を指定すると、既に書き込みが行われたコミット済みのメモリ領域内のページをシステムが追跡(トラッキング)するようになる。その後、 GetWriteWatch 関数を呼び出して、領域が確保された後、または書き込みトラッキング状態がリセットされた後に書き込みが行われたペー
ジのアドレスを取得できる。 ResetWriteWatch 関数を呼び出して書き込みトラッキング状態をリセットすることもできる。ただし ResetWriteWatch 関数を使う場合は、 GetWriteWatch 関数と ResetWriteWatch 関数の呼び出しの間に、どのスレッドもその領域への書き込みを行っていないことを保証する必
要がある。そうでなければ、書き込みが行われたページを検出できない可能性がある。 |