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 參數設為零,並將 outBuffer 參數設定為 NULL;否則,KdChangeOption 會傳回STATUS_INVALID_PARAMETER。 如果 KdBlockEnable 系統變數中的高位 (0x80) 設定為一個,則永遠無法重新啟用調試程式,KdChangeOption 會傳回STATUS_ACCESS_DENIED。 否則,KdChangeOption 會將 KdBlockEnable 系統變數設定為 InBuffer 指向的 BOOLEAN 值。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Microsoft Windows Server 2003 Service Pack 1(SP1) 和更新版本的 Windows 和 Windows Server 中提供。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何層級 |