共用方式為


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。
目標平台 Universal
標頭 wdm.h (包含 Wdm.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級