次の方法で共有


SetProcessDynamicEnforcedCetCompatibleRanges 関数 (processthreadsapi.h)

注意

この API は、2020 年 11 月にリリースされた更新プログラムで 19041 SDK に追加されました。

指定したプロセスに対して動的に適用される CETCOMPAT 範囲を設定します。

構文

BOOL SetProcessDynamicEnforcedCetCompatibleRanges(
  HANDLE                                  Process,
  USHORT                                  NumberOfRanges,
  PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE Ranges
);

パラメーター

Process

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

NumberOfRanges

設定する動的に適用される CETCOMPAT 範囲の数を指定します。

Ranges

動的に適用される CETCOMPAT 範囲の配列へのポインター。 この構造の詳細については、「 PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE」を参照してください。

戻り値

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

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 関数が失敗した場合でも、指定された CETCOMPAT 範囲の一部が正常に処理されている可能性があることに注意してください。 呼び出し元は、Range で指定された各 CETCOMPAT 範囲のフラグをチェックして、正常に処理されたかどうかを判断する必要があります。

注釈

ユーザー モードのハードウェア強制スタック保護 (HSP) は、ハードウェアでサポートされている場合、CPU がシャドウ スタック メカニズムを使用して実行時に関数のリターン アドレスを検証するセキュリティ機能です。 HSP 互換モードでは、シャドウ スタック (CETCOMPAT) との互換性があると見なされるモジュールで発生するシャドウ スタック違反のみが致命的です。 モジュールを CETCOMPAT と見なすには、バイナリの 場合は CETCOMPAT を使用してコンパイルするか、動的コードに SetProcessDynamicEnforcedCetCompatibleRanges を使用してマークする必要があります。 HSP 厳格モードでは、すべてのシャドウ スタック違反は致命的です。

要件

要件
サポートされている最小のクライアント Windows 10バージョン 2004 (10.0;ビルド 19041.662)
サポートされている最小のサーバー Windows Server バージョン 2004 (10.0;ビルド 19041.662)
Header processthreadsapi.h