SetProcessValidCallTargets 関数 (memoryapi.h)
コントロール フロー ガード (CFG) に有効な間接呼び出し先の一覧を提供し、有効とマークするかどうかを指定します。 有効な呼び出し先情報は、仮想メモリ範囲 (範囲の開始とサイズ) に対するオフセットの一覧として提供されます。 指定された呼び出し先は、16 バイトのアラインメントで昇順にする必要があります。
構文
BOOL SetProcessValidCallTargets(
[in] HANDLE hProcess,
[in] PVOID VirtualAddress,
[in] SIZE_T RegionSize,
[in] ULONG NumberOfOffsets,
[in, out] PCFG_CALL_TARGET_INFO OffsetInformation
);
パラメーター
[in] hProcess
ターゲット プロセスへのハンドル。
[in] VirtualAddress
呼び出し先が有効とマークされている仮想メモリ領域の開始。 メモリ領域は、実行可能メモリ 保護定数のいずれかを使用して割り当てる必要があります。
[in] RegionSize
仮想メモリ領域のサイズ。
[in] NumberOfOffsets
仮想メモリ範囲に対する相対オフセットの数。
[in, out] OffsetInformation
仮想メモリ範囲に対する相対オフセットとフラグの一覧。
戻り値
操作 が成功した場合は TRUE。それ以外の場合は FALSE。 この関数のエラー値を取得するには、 GetLastError を呼び出します。
解説
制御フロー ガードがターゲット プロセスに対して有効になっていない場合、この関数は成功しません。 これは、 GetProcessMitigationPolicy を使用して確認できます。
要件
サポートされている最小のクライアント | Windows 10 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | memoryapi.h (Windows.h、Memoryapi.h を含む) |
Library | WindowsApp.lib |
[DLL] | Kernelbase.dll |