Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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) |