Partager via


KsFilterAttemptProcessing, fonction (ks.h)

La fonction KsFilterAttemptProcessing tente d’initier le traitement sur Filter.

Syntaxe

void KsFilterAttemptProcessing(
  [in] PKSFILTER Filter,
  [in] BOOLEAN   Asynchronous
);

Paramètres

[in] Filter

Pointeur vers une structure KSFILTER représentant l’objet de filtre AVStream sur lequel le traitement doit être tenté.

[in] Asynchronous

Ce paramètre contient une indication indiquant si la distribution de traitement doit se produire de manière asynchrone ou non (si elle se produit). Une répartition asynchrone est garantie s’il s’agit de TRUE ; Toutefois, les distributions de traitement synchrone sont régies par les conditions décrites ci-dessous.

Valeur de retour

None

Remarques

Si le minidriver appelle KsFilterAttemptProcessing lorsque toutes les conditions requises pour traiter les données sont remplies, une distribution de traitement se produit. Pour plus d’informations sur le rappel de processus, consultez KSFILTER_DISPATCH. Pour que la tentative aboutit à une répartition réelle, la porte de contrôle de processus du filtre doit être dans un état ouvert. Contrairement au traitement centré sur les broches, le traitement centré sur les filtres présente de nombreuses conditions qui affectent la porte de contrôle de processus. Pour plus d’informations sur ces exigences, consultez Traitement centré sur les filtres et Traitement centré sur les broches.

Si la porte de contrôle de processus est ouverte, une distribution de traitement se produit de manière synchrone ou asynchrone. Si l’appelant spécifie TRUE dans le paramètre Asynchrone , le dispatch de traitement se produit toujours de manière asynchrone dans un élément de travail. Toutefois, si l’appelant demande une distribution de traitement synchrone, la distribution se produit de manière synchrone uniquement si le système se trouve actuellement à un IRQL auquel le minidriver peut gérer le traitement. Si le système est à PASSIVE_LEVEL, la répartition est garantie pour se produire de manière synchrone. À l’inverse, si le système est à DISPATCH_LEVEL, la répartition se produit de manière synchrone uniquement si KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING est spécifié sur le filtre. Sinon, un élément de travail est mis en file d’attente pour effectuer le traitement.

Notez qu’il ne s’agit que d’une tentative de traitement ; L’appel de cette fonction ne garantit pas le début du traitement. Le traitement se produit uniquement si la porte de contrôle de processus est « ouverte ». Pour plus d’informations, consultez Redémarrage du traitement dans AVStream et Portes de contrôle de flux dans AVStream.

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 Universal
En-tête ks.h (inclure Ks.h)
Bibliothèque Ks.lib
IRQL <=DISPATCH_LEVEL

Voir aussi

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing