Función KsPinAttemptProcessing (ks.h)

La función KsPinAttemptProcessing se usa para reanudar el procesamiento en un pin específico en un filtro centrado en patillas. Intenta iniciar el procesamiento en Pin mediante el envío de una llamada de envío de procesamiento al objeto de procesamiento de Pin.

Sintaxis

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

Parámetros

[in] Pin

Puntero a una estructura KSPIN que representa el objeto de patilla AVStream en el que se intenta procesar.

Advertencia

Este parámetro es obligatorio. Si llama a KsPinAttemptProcessing con un valor Pin de NULL, puede producirse inestabilidad del sistema.

[in] Asynchronous

Este parámetro indica la preferencia del minidriver si el procesamiento debe producirse de forma sincrónica o asincrónica. Si es TRUE, el procesamiento siempre es asincrónico. Sin embargo, el procesamiento sincrónico solo se produce en determinadas circunstancias. Para obtener más información, vea la sección Comentarios a continuación.

Valor devuelto

None

Observaciones

Un minidriver puede necesitar llamar a KsPinAttemptProcessing para reanudar el procesamiento en varias situaciones. Por ejemplo, si el cliente ha apagado la puerta de control de procesamiento con KsGateTurnInputOff, llame a esta función cuando esté listo para intentar el procesamiento. Tenga en cuenta que esto solo provoca un envío de procesamiento si la puerta de control de proceso está en estado abierto. Otra situación implica que el minidriver haya devuelto previamente STATUS_PENDING a un envío de procesamiento. Para obtener más información, vea Restarting Processing in AVStream and Flow Control Gates in AVStream.

El envío de procesamiento se produce de forma sincrónica o asincrónica, y solo si la puerta de control de procesamiento está abierta. La marca Asincrónica especifica la preferencia del minidriver. Si el minidriver solicita un envío de proceso asincrónico, el envío siempre es asincrónico. Sin embargo, incluso si el autor de la llamada establece Asincrónico en FALSE, solo se produce un envío sincrónico si el sistema se ejecuta actualmente en un IRQL inferior al procesamiento máximo de IRQL. En otras palabras, si el minidriver no especifica el procesamiento del nivel de distribución y la llamada se realiza en IRQL = DISPATCH_LEVEL, la llamada se produce en un elemento de trabajo asincrónico en PASSIVE_LEVEL independientemente del valor de Asincrónico. Para obtener más información, consulte Procesamiento centrado en filtros y Procesamiento centrado en patillas.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ks.h (incluye Ks.h)
Library Ks.lib
IRQL <=DISPATCH_LEVEL (ver comentarios)

Consulte también

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold