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 |