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 |