KdChangeOption 関数 (wdm.h)

KdChangeOption ルーチンは、カーネル デバッグに関連するカーネルの状態にアクセスして変更します。

構文

NTSTATUS KdChangeOption(
  [in]            KD_OPTION Option,
  [in, optional]  ULONG     InBufferBytes,
  [in]            PVOID     InBuffer,
  [in, optional]  ULONG     OutBufferBytes,
  [out]           PVOID     OutBuffer,
  [out, optional] PULONG    OutBufferNeeded
);

パラメーター

[in] Option

アクセスおよび変更するカーネルの状態を示すKD_OPTION列挙の値。 このパラメーターの値は、 InBufferOutBuffer の形式と必要な長さを決定します。 現在、有効な値はKD_OPTION_SET_BLOCK_ENABLEのみです。

[in, optional] InBufferBytes

InBuffer のバッファーのサイズ (バイト単位)。 この値は省略可能です。

[in] InBuffer

変更するカーネル状態に関する情報を含む呼び出し元によって割り当てられた入力バッファーへのポインター。 Option が入力データを必要としないカーネル状態を指定する場合、このポインターは NULL にすることができます。

[in, optional] OutBufferBytes

OutBuffer のバッファーのサイズ (バイト単位)。 この値は省略可能です。

[out] OutBuffer

カーネル状態に関連する情報が返される、呼び出し元によって割り当てられた出力バッファーへのポインター。 Option で出力データを生成しないカーネル状態が指定されている場合、このポインターは NULL にすることができます。

[out, optional] OutBufferNeeded

戻り値

KdChangeOption は、要求された操作が正常に実行された場合にSTATUS_SUCCESSを返します。 それ以外の場合、戻り値は次のいずれかのエラー状態コードになります。

STATUS_ACCESS_DENIED

STATUS_INVALID_INFO_CLASS

STATUS_INVALID_PARAMETER

STATUS_DEBUGGER_INACTIVE

注釈

オペレーティング システムがデバッグ コントロールなしで起動された場合、 KdChangeOption はSTATUS_DEBUGGER_INACTIVEを返します。

現時点では、 Option パラメーターの有効な値はKD_OPTION_SET_BLOCK_ENABLEのみです。 Option が他の値に設定されている場合、KdChangeOption はSTATUS_INVALID_INFO_CLASSを返します。 Option がKD_OPTION_SET_BLOCK_ENABLEの場合、呼び出し元は InBufferBytes パラメーターを sizeof(BOOLEAN)、OutBufferBytes パラメーターを 0、OutBuffer パラメーターを NULL に設定する必要があります。それ以外の場合、KdChangeOption はSTATUS_INVALID_PARAMETERを返します。 KdBlockEnable システム変数の上位ビット (0x80) が 1 に設定されている場合、デバッガーを再び有効にすることはできず、KdChangeOption はSTATUS_ACCESS_DENIEDを返します。 それ以外の場合、 KdChangeOption、システム変数 KdBlockEnableInBuffer が指す BOOLEAN 値に設定します。

要件

要件
サポートされている最小のクライアント Microsoft Windows Server 2003 Service Pack 1 (SP1) 以降のバージョンの Windows および Windows Server で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル