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) |