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列挙の値。 このパラメーターの値は、 InBuffer と OutBuffer の形式と必要な長さを決定します。 現在、有効な値は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 は 、システム変数 KdBlockEnable を InBuffer が指す BOOLEAN 値に設定します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows Server 2003 Service Pack 1 (SP1) 以降のバージョンの Windows および Windows Server で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | 任意のレベル |