Compartilhar via


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 fixar o objeto de processamento do.

Sintaxe

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

Parâmetros

[in] Pin

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

Aviso

Esse parâmetro é obrigatório. Se você chamar KsPinAttemptProcessing com um Fixar valor 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 VERDADEIRO, o processamento será sempre assíncrono. No entanto, o processamento síncrono só acontece em determinadas circunstâncias. Para obter mais informações, consulte a seção Comentários abaixo.

Valor de retorno

Nenhum

Observações

Um minidriver pode precisar chamar KsPinAttemptProcessing para retomar o processamento em várias situações. Por exemplo, se o cliente tiver desligado a porta 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 a porta 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 Reiniciar o processamento no 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 a porta de controle de processamento estiver aberta. O sinalizador de assíncrono especifica a preferência do minidriver. Se o minidriver solicitar uma expedição de processo assíncrono, a expedição será sempre assíncrona. No entanto, mesmo que o chamador defina assíncrono para FALSE, uma expedição síncrona ocorrerá apenas se o sistema estiver em execução 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 Filter-Centric de Processamento e Pin-Centricde Processamento.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ks.h (incluir Ks.h)
biblioteca Ks.lib
IRQL <=DISPATCH_LEVEL (Consulte comentários)

Consulte também

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold