Partager via


KdChangeOption, fonction (wdm.h)

La routine KdChangeOption accède et change l’état dans le noyau lié au débogage du noyau.

Syntaxe

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

Paramètres

[in] Option

Valeur de l’énumération KD_OPTION qui indique l’état du noyau à accéder et à modifier. La valeur de ce paramètre détermine le format et la longueur requise des valeurs InBuffer et OutBuffer. Actuellement, la seule valeur valide est KD_OPTION_SET_BLOCK_ENABLE.

[in, optional] InBufferBytes

Taille, en octets, de la mémoire tampon dans InBuffer. Cette valeur est facultative.

[in] InBuffer

Pointeur vers une mémoire tampon d’entrée allouée à l’appelant qui contient des informations sur l’état du noyau à modifier. Si Option spécifie un état de noyau qui ne nécessite pas de données d’entrée, ce pointeur peut être NULL.

[in, optional] OutBufferBytes

Taille, en octets, de la mémoire tampon sur OutBuffer. Cette valeur est facultative.

[out] OutBuffer

Pointeur vers une mémoire tampon de sortie allouée par l’appelant dans laquelle les informations relatives à l’état du noyau sont retournées. Si Option spécifie un état de noyau qui ne produit pas de données de sortie, ce pointeur peut être NULL.

[out, optional] OutBufferNeeded

Valeur retournée

KdChangeOption retourne STATUS_SUCCESS s’il a correctement exécuté l’opération demandée. Sinon, la valeur de retour peut être l’un des codes d’erreur status suivants :

STATUS_ACCESS_DENIED

STATUS_INVALID_INFO_CLASS

STATUS_INVALID_PARAMETER

STATUS_DEBUGGER_INACTIVE

Remarques

Si le système d’exploitation a été démarré sans aucun contrôle de débogage, KdChangeOption retourne STATUS_DEBUGGER_INACTIVE.

Actuellement, la seule valeur valide pour le paramètre Option est KD_OPTION_SET_BLOCK_ENABLE. Si Option est défini sur une autre valeur, KdChangeOption retourne STATUS_INVALID_INFO_CLASS. Lorsque Option est KD_OPTION_SET_BLOCK_ENABLE, l’appelant doit définir le paramètre InBufferBytes sur sizeof(BOOLEAN), le paramètre OutBufferBytes sur zéro et le paramètre OutBuffer sur NULL ; sinon, KdChangeOption retourne STATUS_INVALID_PARAMETER. Si le bit élevé (0x80) dans la variable système KdBlockEnable est défini sur un, le débogueur ne peut jamais être réactivé et KdChangeOption retourne STATUS_ACCESS_DENIED. Sinon, KdChangeOption définit la variable système KdBlockEnable sur la valeur BOOLEAN vers laquelle InBuffer pointe.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures de Windows et Windows Server.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau