Compartir a través de


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 a Objeto de procesamiento de Pin.

Sintaxis

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

Parámetros

[in] Pin

Puntero a una estructura de 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 pin valor de NULL, la inestabilidad del sistema puede dar lugar.

[in] Asynchronous

Este parámetro indica la preferencia del minidriver si el procesamiento debe producirse de forma sincrónica o asincrónica. Si 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

Ninguno

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 procesarlo. 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, consulte reiniciar el procesamiento en avStream y puertas de control de flujo en 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 está ejecutando actualmente en un IRQL menor que el IRQL de procesamiento máximo. En otras palabras, si el minidriver no especifica el procesamiento de 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 Filter-Centric Procesamiento de y procesamiento de Pin-Centric.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de ks.h (incluya Ks.h)
biblioteca de Ks.lib
irQL <=DISPATCH_LEVEL (ver comentarios)

Consulte también

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold