Fonction de rappel PFNKSPIN (ks.h)
La routine de rappel d’un minidriver AVStream est appelée dans les cas suivants :
- Il existe des données disponibles pour une structure KSPIN à traiter. Utilisez cette routine pour effectuer un traitement centré sur les broches.
- Le KSPIN approprié sert de broche de récepteur et est connecté à une broche source AVStream.
Syntaxe
PFNKSPIN Pfnkspin;
NTSTATUS Pfnkspin(
[in] PKSPIN Pin
)
{...}
Paramètres
[in] Pin
Pointeur vers le KSPIN qui a des données de trame disponibles à traiter.
Valeur retournée
Retournez STATUS_SUCCESS pour poursuivre le traitement. Retournez STATUS_PENDING pour arrêter le traitement jusqu’à l’événement de déclenchement suivant.
Remarques
À propos d’AVStrMiniPinProcess
Le minidriver spécifie l’adresse de cette routine dans le membre Process de sa structure KSPIN_DISPATCH .
Indiquez qu’un filtre utilise le traitement centré sur les broches en fournissant cette fonction de répartition. Le minidriver définit des indicateurs d’épingle dans la structure de KSPIN_DESCRIPTOR_EX appropriée qui déterminent quand AVStream appelle AVStrMiniPinProcess. Si le minidriver ne définit aucun indicateur dans le descripteur, le comportement par défaut est qu’AVStream appelle AVStrMiniPinProcess lorsque de nouvelles données arrivent dans une file d’attente précédemment vide. Pour plus d’informations sur les déclencheurs de traitement, consultez traitement Pin-Centric.
Après le traitement, le minidriver peut empêcher l’exécution de l’image en clonant le pointeur de flux de bord de pointe. Pour ce faire, appelez KsStreamPointerClone. Consultez Pointeurs de Stream de bord de début et de fin.
Vous pouvez également spécifier un bord de fin distinct en définissant KSPIN_FLAG_DISTINCT_TRAILING_EDGE sur KSPIN_DESCRIPTOR_EX. Une troisième option consiste à ne pas avancer le pointeur de flux de bord d’avant.
La répartition du processus est effectuée à la valeur IRQL = PASSIVE_LEVEL par défaut, ou éventuellement à DISPATCH_LEVEL si le minidriver a spécifié KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING dans le KSPIN_DESCRIPTOR_EX approprié.
Cette routine est facultative.
À propos d’AVStrMiniPinConnect
Le minidriver spécifie l’adresse de cette routine dans le membre Connect de sa structure KSPIN_DISPATCH .
Retourne STATUS_SUCCESS ou l’erreur retournée par la tentative d’établissement d’une intra-connexion. Ne retournez pas STATUS_PENDING.
Cette routine est facultative.
Voir également KS Pins.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ks.h (inclure Ks.h) |
IRQL | (Voir la section Remarques) |