Partager via


KsFilterAttemptProcessing, fonction (ks.h)

La fonction KsFilterAttemptProcessing tente de lancer le traitement sur filtre.

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 tenter de traiter.

[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 si elle est TRUE; Toutefois, les répartitions de traitement synchrones sont régies par les conditions décrites ci-dessous.

Valeur de retour

Aucun

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 d’aboutir à une distribution 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 a de nombreuses conditions qui affectent la porte de contrôle du processus. Pour plus d’informations sur ces exigences, consultez Filter-Centric Traitement et Pin-Centric Traitement.

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, la distribution de traitement se produit toujours de façon 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 runtime d’intégration au niveau duquel le minidriver peut gérer le traitement. Si le système se trouve à PASSIVE_LEVEL, la distribution est garantie de se produire de manière synchrone. À l’inverse, si le système se trouve à DISPATCH_LEVEL, la distribution se produit de manière synchrone uniquement si KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING est spécifiée sur le filtre. Sinon, un élément de travail est mis en file d’attente pour effectuer le traitement.

Notez qu’il s’agit uniquement d’une tentative de traitement ; l’appel de cette fonction ne garantit pas que le traitement commence. 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.

Exigences

Exigence Valeur
client minimum 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 Universel
d’en-tête ks.h (include Ks.h)
bibliothèque Ks.lib
IRQL <=DISPATCH_LEVEL

Voir aussi

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing