Compartilhar via


Função de retorno de chamada PFNKSPIN (ks.h)

A rotina de retorno de chamada de um minidriver AVStream é chamada quando:

  • Há dados disponíveis para uma estrutura KSPIN a ser processada. Use essa rotina para executar o processamento centrado em pin.
  • O KSPIN relevante está servindo como um pino de coletor e está conectado a um pino de origem AVStream.

Sintaxe

PFNKSPIN Pfnkspin;

NTSTATUS Pfnkspin(
  [in] PKSPIN Pin
)
{...}

Parâmetros

[in] Pin

Ponteiro para o KSPIN que tem dados de quadro disponíveis para processamento.

Retornar valor

Retorne STATUS_SUCCESS para continuar o processamento. Retorne STATUS_PENDING para interromper o processamento até o próximo evento de gatilho.

Comentários

Sobre AVStrMiniPinProcess

O minidriver especifica o endereço dessa rotina no membro Process de sua estrutura KSPIN_DISPATCH .

Indique que um filtro usa o Processamento Centrado em Pin fornecendo essa função de expedição. O minidriver define sinalizadores de fixação na estrutura de KSPIN_DESCRIPTOR_EX relevante que determina quando o AVStream chama AVStrMiniPinProcess. Se o minidriver não definir sinalizadores no descritor, o comportamento padrão é que o AVStream chame AVStrMiniPinProcess quando novos dados chegarem a uma fila anteriormente vazia. Consulte Pin-Centric Processamento para obter mais detalhes sobre gatilhos de processamento.

Após o processamento, o minidriver pode impedir que o quadro seja concluído clonando o ponteiro de fluxo de borda à esquerda. Para fazer isso, chame KsStreamPointerClone. Consulte Ponteiros de Stream à esquerda e à direita.

Como alternativa, especifique uma borda à direita distinta definindo KSPIN_FLAG_DISTINCT_TRAILING_EDGE em KSPIN_DESCRIPTOR_EX. Uma terceira opção é não avançar o ponteiro do fluxo de borda à esquerda.

A expedição do processo é feita no IRQL padrão = PASSIVE_LEVEL ou possivelmente em DISPATCH_LEVEL se o minidriver tiver especificado KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING no KSPIN_DESCRIPTOR_EX relevante.

Essa rotina é opcional.

Sobre AVStrMiniPinConnect

O minidriver especifica o endereço dessa rotina no membro Connect de sua estrutura de KSPIN_DISPATCH .

Retornar STATUS_SUCCESS ou o erro retornado da tentativa de estabelecer uma intra-conexão. Não retorne STATUS_PENDING.

Essa rotina é opcional.

Consulte também KS Pins.

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 Área de Trabalho
Cabeçalho ks.h (inclua Ks.h)
IRQL (Consulte a seção Comentários)

Confira também

Processamento centrado em filtro

KSPIN_DESCRIPTOR_EX

KSPIN_DISPATCH

KsStreamPointerClone

Processamento centrado em pin