Partager via


KsPinAttemptProcessing, fonction (ks.h)

La fonction KsPinAttemptProcessing est utilisée pour reprendre le traitement sur une broche spécifique sur un filtre centré sur les broches. Il tente de lancer le traitement sur épingler en envoyant un appel de distribution de traitement à 'objet de traitement de l'Épingler.

Syntaxe

void KsPinAttemptProcessing(
  [in] PKSPIN  Pin,
  [in] BOOLEAN Asynchronous
);

Paramètres

[in] Pin

Pointeur vers une structure KSPIN qui représente l’objet de broche AVStream sur lequel tenter de traiter.

Avertissement

Ce paramètre est obligatoire. Si vous appelez KsPinAttemptProcessing avec une valeur de Épingler de NULL, l’instabilité du système peut se produire.

[in] Asynchronous

Ce paramètre indique la préférence du minidriver si le traitement doit se produire de manière synchrone ou asynchrone. Si TRUE, le traitement est toujours asynchrone. Toutefois, le traitement synchrone se produit uniquement dans certaines circonstances. Pour plus d’informations, consultez la section Remarques ci-dessous.

Valeur de retour

Aucun

Remarques

Un minidriver peut avoir besoin d’appeler KsPinAttemptProcessing pour reprendre le traitement dans différentes situations. Par exemple, si le client a arrêté la porte de contrôle de traitement avec KsGateTurnInputOff, appelez cette fonction quand vous êtes prêt à tenter de traiter. Notez que cela entraîne uniquement une distribution de traitement si la porte de contrôle de processus est dans l’état ouvert. Une autre situation implique que le minidriver retourne auparavant STATUS_PENDING à une distribution de traitement. Pour plus d’informations, consultez redémarrage du traitement dans AVStream et portes de contrôle de flux dans AVStream.

La distribution de traitement se produit de manière synchrone ou asynchrone, et uniquement si la porte de contrôle de traitement est ouverte. L’indicateur de asynchrone spécifie la préférence du minidriver. Si le minidriver demande une distribution de processus asynchrone, la distribution est toujours asynchrone. Toutefois, même si l’appelant définit asynchrone sur faux, une distribution synchrone se produit uniquement si le système s’exécute actuellement à un runtime IRQL inférieur au nombre maximal de traitement IRQL. En d’autres termes, si le minidriver ne spécifie pas de traitement au niveau de répartition et que l’appel est effectué au niveau irQL = DISPATCH_LEVEL, l’appel se produit dans un élément de travail asynchrone à PASSIVE_LEVEL quelle que soit la valeur de asynchrone. Pour plus d’informations, consultez Filter-Centric traitement et Pin-Centric traitement.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ks.h (include Ks.h)
bibliothèque Ks.lib
IRQL <=DISPATCH_LEVEL (voir remarques)

Voir aussi

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold