GetProcessMitigationPolicy 関数 (processthreadsapi.h)

呼び出し元プロセスの軽減ポリシー設定を取得します。

構文

BOOL GetProcessMitigationPolicy(
  [in]  HANDLE                    hProcess,
  [in]  PROCESS_MITIGATION_POLICY MitigationPolicy,
  [out] PVOID                     lpBuffer,
  [in]  SIZE_T                    dwLength
);

パラメーター

[in] hProcess

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

[in] MitigationPolicy

取得する軽減ポリシー。 このパラメーターには、次の値のいずれかを指定できます。

説明
ProcessDEPPolicy プロセスのデータ実行防止 (DEP) ポリシー。
lpBuffer パラメーターは、DEP ポリシー フラグを指定するPROCESS_MITIGATION_DEP_POLICY構造体を指します。
ProcessASLRPolicy プロセスのアドレス空間レイアウトランダム化 (ASLR) ポリシー。
lpBuffer パラメーターは、ASLR ポリシー フラグを指定するPROCESS_MITIGATION_ASLR_POLICY構造体を指します。
ProcessDynamicCodePolicy プロセスの動的コード ポリシー。 オンにすると、プロセスで動的コードを生成したり、既存の実行可能コードを変更したりすることはできません。
lpBuffer パラメーターは、動的コード ポリシー フラグを指定するPROCESS_MITIGATION_DYNAMIC_CODE_POLICY構造体を指します。
ProcessStrictHandleCheckPolicy 無効なハンドルを操作すると、プロセスは致命的なエラーを受け取ります。
lpBuffer パラメーターは、ポリシー フラグチェックハンドルを指定するPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY構造体を指します。
ProcessSystemCallDisablePolicy 最下位レイヤーで NTUser/GDI 関数を使用する機能を無効にします。
lpBuffer パラメーターは、システム呼び出し無効化ポリシー フラグを指定するPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY構造体を指します。
ProcessMitigationOptionsMask システム上のすべての軽減オプションの有効なビットのマスクを返します。 アプリケーションは、サポートされていないすべてのビットを一度に除外するマスクとビットごとの組み合わせによって、オペレーティング システムに対して軽減オプションのクエリを実行せずに、多くの軽減オプションを設定できます。
lpBuffer パラメーターは、マスクのULONG64 ビット ベクター、またはULONG64ビット ベクトルの 2 要素配列指します。
ProcessExtensionPointDisablePolicy 特定の組み込みのサード パーティの拡張ポイントが有効にならないようにし、レガシ拡張ポイント DLL がプロセスに読み込まれないようにします。
lpBuffer パラメーターは、拡張ポイントの無効化ポリシー フラグを指定するPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY構造体を指します。
ProcessControlFlowGuardPolicy プロセスの制御フロー ガード (CFG) ポリシー。
lpBuffer パラメーターは、CFG ポリシー フラグを指定するPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY構造体を指します。
ProcessSignaturePolicy Microsoft、Windows ストア、または Microsoft、Windows ストア、Windows Hardware Quality Labs (WHQL) によって署名されたイメージにイメージの読み込みを制限できるプロセスのポリシー。
lpBuffer パラメーターは、署名ポリシー フラグを指定するPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY構造体を指します。
ProcessFontDisablePolicy プロセスのフォント読み込みに関するポリシー。 オンにすると、システム以外のフォントを読み込むことはできません。
lpBuffer パラメーターは、フォント読み込みのポリシー フラグを指定するPROCESS_MITIGATION_FONT_DISABLE_POLICY構造体を指します。
ProcessImageLoadPolicy プロセスのイメージの読み込みに関するポリシー。プロセスにマップできる実行可能イメージの種類を決定します。 オンにすると、一部の場所 (必須ラベルが低いリモート デバイスやファイルなど) からイメージを読み込むことができません。
lpBuffer パラメーターは、イメージ読み込みのポリシー フラグを指定するPROCESS_MITIGATION_IMAGE_LOAD_POLICY構造体を指します。
ProcessRedirectionTrustPolicy プロセスの RedirectionGuard ポリシー。 lpBuffer パラメーターは、軽減モードを指定するPROCESS_MITIGATION_REDIRECTION_TRUST_POLICY構造体を指します。
ProcessSideChannelIsolationPolicy Windows 10 Version 1809以降: 指定されたプロセスのサイド チャネルの分離に関するポリシー。
lpBuffer パラメーターは、サイド チャネル分離のポリシー フラグを指定するPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY構造体を指します。
ProcessUserShadowStackPolicy Windows 10バージョン 2004 以降: 指定されたプロセスに対するユーザー モードのハードウェア強制スタック保護に関するポリシー。
lpBuffer パラメーターは、ユーザー モードのハードウェア適用スタック保護のポリシー フラグを指定するPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY構造体を指します。

[out] lpBuffer

MitigationPolicy パラメーターが ProcessDEPPolicy の場合、このパラメーターは DEP ポリシー フラグを受け取るPROCESS_MITIGATION_DEP_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessASLRPolicy の場合、このパラメーターは ASLR ポリシー フラグを受け取るPROCESS_MITIGATION_ASLR_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessDynamicCodePolicy の場合、このパラメーターは動的コード ポリシー フラグを受け取るPROCESS_MITIGATION_DYNAMIC_CODE_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessStrictHandleCheckPolicy の場合、このパラメーターは、ポリシー フラグチェックハンドルを指定するPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessSystemCallDisablePolicy の場合、このパラメーターは、システム呼び出し無効化ポリシー フラグを指定するPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessMitigationOptionsMask の場合、このパラメーターは、マスクのULONG64ビット ベクトルまたはULONG64ビット ベクトルの 2 要素配列指します。

MitigationPolicy パラメーターが ProcessExtensionPointDisablePolicy の場合、このパラメーターは拡張ポイントの無効化ポリシー フラグを指定するPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessControlFlowGuardPolicy の場合、このパラメーターは CFG ポリシー フラグを指定するPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessSignaturePolicy の場合、このパラメーターは署名ポリシー フラグを受け取るPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessFontDisablePolicy の場合、このパラメーターは、フォント読み込み用のポリシー フラグを受け取るPROCESS_MITIGATION_FONT_DISABLE_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessImageLoadPolicy の場合、このパラメーターは、イメージの読み込み用のポリシー フラグを受け取るPROCESS_MITIGATION_IMAGE_LOAD_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessRedirectionTrustPolicy の場合、このパラメーターは軽減モードを指定するPROCESS_MITIGATION_REDIRECTION_TRUST_POLICY構造体を指します。

MitigationPolicy パラメーターが ProcessUserShadowStackPolicy の場合、このパラメーターは、ユーザー モードのハードウェア適用スタック保護のポリシー フラグを受け取るPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY構造体を指します。

[in] dwLength

lpBuffer のサイズ (バイト単位)。

戻り値

関数が成功すると、 TRUE が返されます。 関数が失敗すると、 FALSE が返されます。 この関数に対して定義されているエラー値を取得するには、 GetLastError を呼び出します。

解説

この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNT >= 0x0602を設定します。 詳細については、「 Windows ヘッダーの使用」を参照してください。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー processthreadsapi.h
Library Kernel32.lib
[DLL] Kernel32.dll