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

Consulte también

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing