Compartilhar via


Função KsFilterAttemptProcessing (ks.h)

A função KsFilterAttemptProcessing tenta iniciar o processamento no Filter.

Sintaxe

void KsFilterAttemptProcessing(
  [in] PKSFILTER Filter,
  [in] BOOLEAN   Asynchronous
);

Parâmetros

[in] Filter

Um ponteiro para uma estrutura de KSFILTER que representa o objeto de filtro AVStream no qual tentar o processamento.

[in] Asynchronous

Esse parâmetro contém uma indicação de se a expedição de processamento deve ocorrer de forma assíncrona ou não (caso ocorra). Uma expedição assíncrona será garantida se esta for VERDADEIRO; no entanto, os despachos de processamento síncrono são regidos por condições descritas abaixo.

Valor de retorno

Nenhum

Observações

Se o minidriver chamar KsFilterAttemptProcessing quando todas as condições necessárias para processar dados forem atendidas, ocorrerá uma expedição de processamento. Para obter mais informações sobre o retorno de chamada do processo, consulte KSFILTER_DISPATCH. Para que a tentativa resulte em uma expedição real, a porta de controle do processo do filtro deve estar em um estado aberto. Ao contrário do processamento centrado em pin, o processamento centrado em filtro tem muitas condições que afetam a porta de controle do processo. Para obter mais informações sobre esses requisitos, consulte Filter-Centric Processing and Pin-Centric Processing.

Se a porta de controle do processo estiver aberta, ocorrerá uma expedição de processamento, de forma síncrona ou assíncrona. Se o chamador especificar TRUE no parâmetro assíncrono, a expedição de processamento sempre ocorrerá de forma assíncrona em um item de trabalho. No entanto, se o chamador solicitar uma expedição de processamento síncrona, a expedição ocorrerá de forma síncrona somente se o sistema estiver atualmente em um IRQL no qual o minidriver poderá lidar com o processamento. Se o sistema estiver em PASSIVE_LEVEL, a expedição deverá ocorrer de forma síncrona. Por outro lado, se o sistema estiver em DISPATCH_LEVEL, a expedição ocorrerá de forma síncrona somente se KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING for especificado no filtro. Caso contrário, um item de trabalho é enfileirado para executar o processamento.

Observe que esta é apenas uma tentativa de processamento; chamar essa função não garante que o processamento será iniciado. O processamento ocorrerá somente se a porta de controle do processo estiver "aberta". Para obter mais informações, consulte Reiniciar o processamento em AVStream e portões de controle de fluxo no AVStream.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX.
da Plataforma de Destino Universal
cabeçalho ks.h (incluir Ks.h)
biblioteca Ks.lib
IRQL <=DISPATCH_LEVEL

Consulte também

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing