共用方式為


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 參數設為零,並將 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 任何層級