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) |