Compartilhar via


Função KsFilterGenerateEvents (ks.h)

A função KsFilterGenerateEvents gera eventos de um tipo indicado que estão presentes na lista de eventos do Filter.

Sintaxe

void KsFilterGenerateEvents(
  [in]           PKSFILTER                  Filter,
  [in, optional] const GUID                 *EventSet,
  [in]           ULONG                      EventId,
  [in]           ULONG                      DataSize,
  [in]           PVOID                      Data,
  [in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
  [in, optional] PVOID                      CallBackContext
);

Parâmetros

[in] Filter

Um ponteiro para uma estrutura KSFILTER na qual gerar eventos.

[in, optional] EventSet

Um ponteiro para o GUID do conjunto de eventos para corresponder à determinação de quais eventos serão gerados. Se esse parâmetro for NULL, o GUID do conjunto de eventos não será levado em conta para determinar eventos correspondentes.

[in] EventId

A ID do evento a ser correspondida para determinar quais eventos gerar.

[in] DataSize

O tamanho do de dados em bytes.

[in] Data

Um ponteiro para um buffer de dados. Especifique se está gerando um evento de dados.

[in, optional] CallBack

Um ponteiro para uma função especificada pelo chamador que é chamada para determinar se um determinado evento deve ser gerado. Se isso for NULL, nenhuma verificação de retorno de chamada será executada para determinar se um evento deve ser gerado (somente *EventSet *e eventId são usados). Para obter mais informações, consulte a seção Comentários abaixo.

[in, optional] CallBackContext

Um ponteiro opcional para um contexto especificado pelo chamador que é passado para a função de retorno de chamada de Retorno de Chamada. Para obter mais informações, consulte a seção Comentários abaixo.

Valor de retorno

Nenhum

Observações

Ao chamar essa função, um minidriver deve colocar data e CallBackContext em um segmento de dados bloqueado e não pageable. Além disso, observe que o de Retorno de Chamada é feito em DISPATCH_LEVEL. A função de retorno de chamada deve estar em um segmento bloqueado e deve estar preparada para ser executada em IRQL = DISPATCH_LEVEL. Observe que há um problema adicional no DX8 apenas: eventSet deve estar em um segmento de dados bloqueado.

Essa é uma chamada de função embutida para KsGenerateEvents que executa a tipagem necessária. Os minidrivers geralmente devem chamar essa versão em vez de chamar diretamente KsGenerateEvents.

Um evento será gerado se as seguintes condições se mantiverem:

  • O evento está presente na lista de eventos do Filtere EventId corresponde à ID do evento

  • EventSet corresponde ao GUID definido do evento ou é NULL

  • de Retorno de Chamada é NULL ou autoriza a correspondência

de Retorno de Chamada é um retorno de chamada especificado pelo chamador usado para determinação de correspondência adicional. Ele é protótipo da seguinte maneira:

BOOLEAN CallBack (IN PVOID Context, IN PKSEVENT_ENTRY EventEntry);

O AVStream passa o conteúdo do parâmetro KsFilterGenerateEvents rotina CallBackContext no parâmetro de contexto desse retorno de chamada. EventEntry é um ponteiro para uma estrutura de KSEVENT_ENTRY que especifica o evento que seria gerado. A função de retorno de chamada deverá retornar VERDADEIRO se esse evento deve ser gerado.

Para obter mais informações, consulte tratamento de eventos no AVStream e de eventos KS.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX.
da Plataforma de Destino Área de trabalho
cabeçalho ks.h (incluir Ks.h)
biblioteca Ks.lib
IRQL <=DISPATCH_LEVEL (seção Consulte Comentários.)

Consulte também

KSEVENT_ENTRY

KsAddEvent

KsGenerateEvents

KsPinGenerateEvents