Règle KsInvalidStreamPointer (ks)
La règle KsInvalidStreamPointer vérifie si un pilote KS miniport fournit un pointeur KS Stream valide en tant qu’argument de fonction. Les violations classiques sont dues à une gestion incorrecte du pointeur ou à une altération du pointeur causée par une utilisation incorrecte de la mémoire.
Un pointeur de flux valide est un pointeur de flux de bord de début ou de fin ou un pointeur de flux qui a été cloné via KsStreamPointerClone. Pour plus d’informations, consultez Pointeurs de bord de début et de fin Stream.
Cette règle vérifie également que KsStreamPointerDelete n’a pas été utilisé pour tenter de supprimer un pointeur de flux non cloné.
Modèle de pilote : KS
Bogues case activée trouvés avec cette règle : 0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION (0x0008100C)
Exemple
Le code suivant enfreint cette règle.
PKKSSTREAM_POINTER StreamPointer = KsPinGetLeadingEdgeStreamPointer (Pin, KSSTREAM_POINTER_STATE_UNLOCKED);
//
// ERROR: KsStreamPointerDelete can only be called on clone stream pointers.
//
KsStreamPointerDelete (StreamPointer);
Ce code enfreint également la règle.
KsStreamPointerDelete (NULL);
Comment tester
Au moment de l'exécution |
---|
Pour vérifier cette règle, ouvrez une fenêtre d’invite de commandes. Entrez une commande Driver Verifier et spécifiez /domain ks. Par exemple : Pour plus d’informations, consultez Type de débogage. |
vérificateur /domain ks [options] /driver<yourdriver>
Au moment de l'exécution |
---|
Exécutez Driver Verifier et sélectionnez l’option de vérification de conformité DDI . |
S’applique à
KsStreamPointerDelete
KsStreamPointerAdvance
KsStreamPointerAdvanceOffsetsAndUnlock
KsStreamPointerCancelTimeout
KsStreamPointerGetIrp
KsStreamPointerGetMdl
KsStreamPointerGetNextClone
KsStreamPointerLock
KsStreamPointerScheduleTimeout
KsStreamPointerSetStatusCode
KsStreamPointerUnlock
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour