Função KsPinAttemptProcessing (ks.h)

A função KsPinAttemptProcessing é usada para retomar o processamento em um pin específico em um filtro centrado em pin. Ele tenta iniciar o processamento no Pin enviando uma chamada de expedição de processamento para o objeto de processamento do Pin.

Sintaxe

void KsPinAttemptProcessing(
  [in] PKSPIN  Pin,
  [in] BOOLEAN Asynchronous
);

Parâmetros

[in] Pin

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

Aviso

Este parâmetro é obrigatório. Se você chamar KsPinAttemptProcessing com um valor pin de NULL, a instabilidade do sistema poderá resultar.

[in] Asynchronous

Esse parâmetro indica a preferência do minidriver se o processamento deve ocorrer de forma síncrona ou assíncrona. Se TRUE, o processamento será sempre assíncrono. No entanto, o processamento síncrono só ocorre em determinadas circunstâncias. Para obter mais informações, consulte a seção Comentários abaixo.

Retornar valor

Nenhum

Comentários

Um minidriver pode precisar chamar KsPinAttemptProcessing para retomar o processamento em várias situações. Por exemplo, se o cliente tiver desligado o portão de controle de processamento com KsGateTurnInputOff, chame essa função quando estiver pronto para tentar o processamento. Observe que isso só causará uma expedição de processamento se o portão de controle do processo estiver no estado aberto. Outra situação envolve o minidriver ter retornado anteriormente STATUS_PENDING para uma expedição de processamento. Para obter mais detalhes, consulte Reiniciando o processamento em AVStream e portões de controle de fluxo no AVStream.

A expedição de processamento ocorre de forma síncrona ou assíncrona e somente se o portão de controle de processamento estiver aberto. O sinalizador assíncrono especifica a preferência do minidriver. Se o minidriver solicitar uma expedição de processo assíncrona, a expedição será sempre assíncrona. No entanto, mesmo que o chamador defina Assíncrono como FALSE, uma expedição síncrona só ocorrerá se o sistema estiver sendo executado em um IRQL menor que o IRQL de processamento máximo. Em outras palavras, se o minidriver não especificar o processamento de nível de expedição e a chamada for feita em IRQL = DISPATCH_LEVEL, a chamada ocorrerá em um item de trabalho assíncrono em PASSIVE_LEVEL independentemente do valor de Assíncrono. Para obter mais informações, consulte Processamento centrado em filtro e processamento centrado em pin.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ks.h (inclua Ks.h)
Biblioteca Ks.lib
IRQL <=DISPATCH_LEVEL (Consulte Comentários)

Confira também

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold