Função KdChangeOption (wdm.h)
A rotina KdChangeOption acessa e altera o estado no kernel relacionado à depuração de kernel.
Sintaxe
NTSTATUS KdChangeOption(
[in] KD_OPTION Option,
[in, optional] ULONG InBufferBytes,
[in] PVOID InBuffer,
[in, optional] ULONG OutBufferBytes,
[out] PVOID OutBuffer,
[out, optional] PULONG OutBufferNeeded
);
Parâmetros
[in] Option
Um valor da enumeração KD_OPTION que indica o estado do kernel a ser acessado e alterado. O valor desse parâmetro determina o formato e o comprimento necessário do InBuffer e do OutBuffer. Atualmente, o único valor válido é KD_OPTION_SET_BLOCK_ENABLE.
[in, optional] InBufferBytes
O tamanho, em bytes, do buffer no InBuffer. Esse valor é opcional.
[in] InBuffer
Um ponteiro para um buffer de entrada alocado pelo chamador que contém informações sobre o estado do kernel a ser alterado. Se Option especificar um estado de kernel que não exija dados de entrada, esse ponteiro poderá ser NULL.
[in, optional] OutBufferBytes
O tamanho, em bytes, do buffer no OutBuffer. Esse valor é opcional.
[out] OutBuffer
Um ponteiro para um buffer de saída alocado pelo chamador no qual as informações que pertencem ao estado do kernel são retornadas. Se Option especificar um estado de kernel que não produz dados de saída, esse ponteiro poderá ser NULL.
[out, optional] OutBufferNeeded
Retornar valor
KdChangeOption retornará STATUS_SUCCESS se tiver realizado com êxito a operação solicitada. Caso contrário, o valor retornado pode ser um dos seguintes códigos de status de erro:
STATUS_ACCESS_DENIED
STATUS_INVALID_INFO_CLASS
STATUS_INVALID_PARAMETER
STATUS_DEBUGGER_INACTIVE
Comentários
Se o sistema operacional tiver sido inicializado sem controles de depuração, KdChangeOption retornará STATUS_DEBUGGER_INACTIVE.
Atualmente, o único valor válido para o parâmetro Option é KD_OPTION_SET_BLOCK_ENABLE. Se Option for definido como qualquer outro valor, KdChangeOption retornará STATUS_INVALID_INFO_CLASS. Quando Option é KD_OPTION_SET_BLOCK_ENABLE, o chamador deve definir o parâmetro InBufferBytes como sizeof(BOOLEAN), o parâmetro OutBufferBytes como zero e o parâmetro OutBuffer como NULL; caso contrário, KdChangeOption retornará STATUS_INVALID_PARAMETER. Se o bit alto (0x80) na variável de sistema KdBlockEnable estiver definido como um, o depurador nunca poderá ser habilitado novamente e KdChangeOption retornará STATUS_ACCESS_DENIED. Caso contrário, KdChangeOption define a variável de sistema KdBlockEnable como o valor BOOLEAN para o qual InBuffer aponta.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows Server 2003 com Service Pack 1 (SP1) e versões posteriores do Windows e do Windows Server. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |