Condividi tramite


Funzione KdChangeOption (wdm.h)

La routine KdChangeOption accede e modifica lo stato del kernel correlato al debug del kernel.

Sintassi

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

Parametri

[in] Option

Valore dell'enumerazione KD_OPTION che indica lo stato del kernel per accedere e modificare. Il valore di questo parametro determina il formato e la lunghezza richiesta di InBuffer e OutBuffer. Attualmente l'unico valore valido è KD_OPTION_SET_BLOCK_ENABLE.

[in, optional] InBufferBytes

Dimensioni, in byte, del buffer in InBuffer. Questo valore è facoltativo.

[in] InBuffer

Puntatore a un buffer di input allocato dal chiamante che contiene informazioni sullo stato del kernel da modificare. Se Option specifica uno stato del kernel che non richiede dati di input, questo puntatore può essere NULL.

[in, optional] OutBufferBytes

Dimensioni, in byte, del buffer in OutBuffer. Questo valore è facoltativo.

[out] OutBuffer

Puntatore a un buffer di output allocato dal chiamante in cui vengono restituite informazioni relative allo stato del kernel. Se Option specifica uno stato del kernel che non produce dati di output, questo puntatore può essere NULL.

[out, optional] OutBufferNeeded

Valore restituito

KdChangeOption restituisce STATUS_SUCCESS se ha eseguito correttamente l'operazione richiesta. In caso contrario, il valore restituito può essere uno dei codici di stato degli errori seguenti:

STATUS_ACCESS_DENIED

STATUS_INVALID_INFO_CLASS

STATUS_INVALID_PARAMETER

STATUS_DEBUGGER_INACTIVE

Commenti

Se il sistema operativo è stato avviato senza controlli di debug, KdChangeOption restituisce STATUS_DEBUGGER_INACTIVE.

Attualmente, l'unico valore valido per il parametro Option è KD_OPTION_SET_BLOCK_ENABLE. Se Option è impostato su qualsiasi altro valore, KdChangeOption restituisce STATUS_INVALID_INFO_CLASS. Quando Option è KD_OPTION_SET_BLOCK_ENABLE, il chiamante deve impostare il parametro InBufferBytes su sizeof(BOOLEAN), il parametro OutBufferBytes su zero e il parametro OutBuffer su NULL; in caso contrario, KdChangeOption restituisce STATUS_INVALID_PARAMETER. Se il bit elevato (0x80) nella variabile di sistema KdBlockEnable è impostato su uno, il debugger non può mai essere riattivato e KdChangeOption restituisce STATUS_ACCESS_DENIED. In caso contrario, KdChangeOption imposta la variabile di sistema KdBlockEnable sul valore BOOLEAN a cui Punta InBuffer .

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Microsoft Windows Server 2003 con Service Pack 1 (SP1) e versioni successive di Windows e Windows Server.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualsiasi livello