Compartilhar via


Função KsFilterAttemptProcessing (ks.h)

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

Sintaxe

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

Parâmetros

[in] Filter

Um ponteiro para uma estrutura 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 for TRUE; no entanto, os despachos de processamento síncrono são regidos por condições descritas abaixo.

Retornar valor

Nenhum

Comentários

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, o portão de controle de 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 Processamento centrado em filtro e processamento centrado em pin.

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 será 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 Reiniciando o processamento em AVStream e portões de controle de fluxo no AVStream.

Requisitos

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

Confira também

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing