Función KsFilterAttemptProcessing (ks.h)
La función KsFilterAttemptProcessing intenta iniciar el procesamiento en Filter.
Sintaxis
void KsFilterAttemptProcessing(
[in] PKSFILTER Filter,
[in] BOOLEAN Asynchronous
);
Parámetros
[in] Filter
Puntero a una estructura KSFILTER que representa el objeto de filtro AVStream en el que se intenta procesar.
[in] Asynchronous
Este parámetro contiene una indicación de si el envío de procesamiento debe producirse de forma asincrónica o no (en caso de que se produzca). Se garantiza un envío asincrónico si es TRUE; sin embargo, los envíos de procesamiento sincrónico se rigen por las condiciones descritas a continuación.
Valor devuelto
None
Observaciones
Si el minidriver llama a KsFilterAttemptProcessing cuando se cumplen todas las condiciones necesarias para procesar los datos, se produce un envío de procesamiento. Para obtener más información sobre la devolución de llamada del proceso, consulte KSFILTER_DISPATCH. Para que el intento de dar lugar a un envío real, la puerta de control de procesos del filtro debe estar en un estado abierto. A diferencia del procesamiento centrado en patillas, el procesamiento centrado en filtros tiene muchas condiciones que afectan a la puerta de control de procesos. Para obtener más información sobre estos requisitos, vea Procesamiento centrado en filtros y Procesamiento centrado en patillas.
Si la puerta de control de procesos está abierta, se produce un envío de procesamiento, ya sea de forma sincrónica o asincrónica. Si el autor de la llamada especifica TRUE en el parámetro Asincrónico , el envío de procesamiento siempre se produce de forma asincrónica en un elemento de trabajo. Sin embargo, si el autor de la llamada solicita un envío de procesamiento sincrónico, el envío se produce de forma sincrónica solo si el sistema está actualmente en una IRQL en la que el minidriver puede controlar el procesamiento. Si el sistema está en PASSIVE_LEVEL, se garantiza que el envío se produzca sincrónicamente. Por el contrario, si el sistema está en DISPATCH_LEVEL, el envío se produce de forma sincrónica solo si se especifica KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING en el filtro. De lo contrario, se pone en cola un elemento de trabajo para realizar el procesamiento.
Tenga en cuenta que esto es solo un intento de procesamiento; llamar a esta función no garantiza que se inicie el procesamiento. El procesamiento solo se produce si la puerta de control de proceso está "abierta". Para obtener más información, vea Restarting Processing in AVStream and Flow Control Gates in AVStream.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows XP y en sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX. |
Plataforma de destino | Universal |
Encabezado | ks.h (incluye Ks.h) |
Library | Ks.lib |
IRQL | <=DISPATCH_LEVEL |