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 |