Partager via


Règles pour les pilotes AVStream

Les règles de conformité DDI pour les pilotes miniport AVStream vérifient les protocoles d’interface DDI entre le pilote de diffusion en continu du noyau (ks.sys) et ses pilotes miniports.

Dans cette section

Sujet Descriptif

KsCallbackReturn

La règle KsCallbackReturn spécifie qu'une fonction de rappel d'un pilote de miniport de streaming du noyau (KS) ne retourne que des valeurs de statut permises.

KsDeviceMutex

La règle KsDeviceMutex spécifie qu’un pilote miniport de diffusion en continu du noyau utilise KsAcquireDevice et KsReleaseDevice dans la séquence correcte. Autrement dit, chaque appel à KsAcquireDevice doit avoir un appel correspondant à KsReleaseDevice.

KsFilterMutex

La règle KsFilterMutex spécifie qu’un pilote miniport KS acquiert et libère le mutex du filtre dans la séquence correcte.

KsIrqlDDIs

La règle KsIrqlDDIs spécifie qu’un pilote miniport de diffusion en continu (KS) appelle les DDIs KS au niveau IRQL approprié.

KsIrqlDeviceCallbacks

La règle KsIrqlDeviceCallbacks spécifie qu'un pilote miniport de streaming du noyau (KS) doit revenir d'une fonction de rappel de périphérique KS avec le même niveau IRQL que celui qu'il avait lors de son appel.

KsInvalidStreamPointer

La règle KsInvalidStreamPointer vérifie si un pilote miniport KS fournit un pointeur KS Stream valide en tant qu’argument de fonction.

KsIrqlFilterCallbacks

La règle KsIrqlFilterCallbacks spécifie qu’un pilote miniport KS revient d'une fonction de rappel de filtre KS avec le même IRQL qu’il avait lorsque la fonction de rappel a été appelée.

KsMarkPendingIrp

La règle KsMarkPendingIrp spécifie qu'un pilote miniport de flux de noyau (KS) doit marquer les IRPs comme étant en attente lorsqu'il retourne avec STATUS_PENDING à partir des fonctions de rappel suivantes :

  • AVStrMiniFilterClose
  • AVStrMiniPinClose
  • AVStrMiniPinCreate

KsIrqlPinCallbacks

La règle KsIrqlPinCallbacks spécifie qu’un pilote miniport (KS) de flux de noyau retourne à partir d’une fonction de rappel KS Pin avec le même IRQL qu’il avait lors de son appel.

KsProcessingMutex

La règle KsProcessingMutex spécifie qu'un pilote miniport KS utilise le mutex de traitement dans le bon ordre :

KsStreamPointerClone

La règle KsStreamPointerClone spécifie qu’un pilote de miniport (KS) de flux de noyau utilise correctement les fonctions KsStreamPointerClone et KsStreamPointerDelete .

KsStreamPointerLock

La règle KsStreamPointerLock spécifie qu’un pilote de miniport (KS) de streaming de noyau utilise les fonctions KsStreamPointerLock et KsStreamPointerUnlock dans la séquence correcte.

KsStreamPointerUnlock

La règle KsStreamPointerUnlock spécifie qu’un pilote miniport de flux noyau (KS) déverrouille tous les pointeurs de flux avant que le pilote ne soit déchargé (ou le dispositif arrêté).

KsTimedDeviceCallbacks

La règle KsTimedDeviceCallbacks spécifie qu’un pilote miniport de diffusion en continu du noyau (KS) termine une fonction de rappel de périphérique dans un délai de 500 ms.

KsTimedFilterCallbacks

La règle KsTimedFilterCallbacks spécifie qu’un pilote miniport de diffusion en continu du noyau (KS) retourne à partir d’une fonction de rappel de filtre dans un délai de 500 ms.

KsTimedPinCallbacks

La règle KsTimedPinCallbacks spécifie qu’un pilote miniport de diffusion en continu du noyau (KS) retourne à partir d’une fonction de rappel de broche dans un délai de 500 ms.

KsTimedPinSetDeviceState

La règle KsTimedPinSetDeviceState spécifie qu’un pilote miniport AVStream (KS) effectue des transitions d’état à l’aide de la routine AVStrMiniPinSetDeviceState du minidriver AVStrMiniPinSetDeviceState dans le délai nécessaire.

KsTimedProcessingMutex

La règle KsTimedProcessingMutex spécifie qu’un pilote miniport KS ne doit pas détenir un mutex de traitement pendant plus de 100 millisecondes.