Freigeben über


KdChangeOption-Funktion (wdm.h)

Die KdChangeOption-Routine greift auf den Zustand im Kernel zu und ändert diesen, der sich auf das Debuggen des Kernels bezieht.

Syntax

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

Parameter

[in] Option

Ein Wert aus der KD_OPTION-Enumeration, der den Kernelstatus angibt, auf den zugegriffen und geändert werden soll. Der Wert dieses Parameters bestimmt das Format und die erforderliche Länge von InBuffer und OutBuffer. Derzeit ist der einzige gültige Wert KD_OPTION_SET_BLOCK_ENABLE.

[in, optional] InBufferBytes

Die Größe des Puffers in InBuffer in Bytes. Dieser Wert ist optional.

[in] InBuffer

Ein Zeiger auf einen vom Aufrufer zugeordneten Eingabepuffer, der Informationen zum zu ändernden Kernelzustand enthält. Wenn Option einen Kernelzustand angibt, der keine Eingabedaten erfordert, kann dieser Zeiger NULL sein.

[in, optional] OutBufferBytes

Die Größe des Puffers bei OutBuffer in Bytes. Dieser Wert ist optional.

[out] OutBuffer

Ein Zeiger auf einen vom Aufrufer zugeordneten Ausgabepuffer, in dem Informationen zurückgegeben werden, die sich auf den Kernelzustand beziehen. Wenn Option einen Kernelzustand angibt, der keine Ausgabedaten erzeugt, kann dieser Zeiger NULL sein.

[out, optional] OutBufferNeeded

Rückgabewert

KdChangeOption gibt STATUS_SUCCESS zurück, wenn der angeforderte Vorgang erfolgreich ausgeführt wurde. Andernfalls kann der Rückgabewert einer der folgenden Fehler status Codes sein:

STATUS_ACCESS_DENIED

STATUS_INVALID_INFO_CLASS

STATUS_INVALID_PARAMETER

STATUS_DEBUGGER_INACTIVE

Hinweise

Wenn das Betriebssystem ohne Debugsteuerelemente gestartet wurde, gibt KdChangeOption STATUS_DEBUGGER_INACTIVE zurück.

Derzeit ist der einzige gültige Wert für den Parameter Option KD_OPTION_SET_BLOCK_ENABLE. Wenn Option auf einen anderen Wert festgelegt ist, gibt KdChangeOption STATUS_INVALID_INFO_CLASS zurück. Wenn Option KD_OPTION_SET_BLOCK_ENABLE ist, muss der Aufrufer den InBufferBytes-Parameter auf sizeof(BOOLEAN), den OutBufferBytes-Parameter auf null und den OutBuffer-Parameter auf NULL festlegen. Andernfalls gibt KdChangeOption STATUS_INVALID_PARAMETER zurück. Wenn das high bit (0x80) in der KdBlockEnable-Systemvariable auf eins festgelegt ist, kann der Debugger nie wieder aktiviert werden, und KdChangeOption gibt STATUS_ACCESS_DENIED zurück. Andernfalls legt KdChangeOption die KdBlockEnable-Systemvariable auf den BOOLESCHEN Wert fest, auf den InBuffer zeigt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows Server 2003 mit Service Pack 1 (SP1) und höheren Versionen von Windows und Windows Server.
Zielplattform Universell
Header wdm.h (wdm.h einschließen)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene