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 |