Compartilhar via


Função KsGenerateEvents (ks.h)

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

Sintaxe

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

Parâmetros

[in] Object

O objeto no qual gerar eventos. Pode ser um objeto de pino ou filtro AVStream.

[in, optional] EventSet

O GUID do conjunto de eventos a ser correspondido para determinar quais eventos gerar. Se esse parâmetro for NULL, o GUID de conjunto 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 em bytes dos dados com os quais gerar o evento de dados.

[in, optional] Data

Um ponteiro para um buffer de dados a ser incluído na notificação de evento. Se o driver não precisar transmitir informações adicionais por meio da notificação, defina esse parâmetro opcional para NULL.

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

[in, optional] CallBackContext

Um ponteiro para um contexto especificado pelo chamador que é passado para a função de retorno de chamada de Retorno de Chamada.

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.

Os minidrivers normalmente não chamam essa função diretamente e, em vez disso, usam uma das versões que executa a conversão apropriada: KsFilterGenerateEvents ou KsPinGenerateEvents.

Um evento será gerado se ele estiver presente na lista de eventos *do objeto e *EventId *corresponder à ID do evento, EventSet corresponder ao GUID definido do evento ou for NULL e *CallBack *está 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 KsGenerateEvents rotina CallBackContext no parâmetro Context 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 Universal
cabeçalho ks.h (incluir Ks.h)
biblioteca Ks.lib
IRQL <=DISPATCH_LEVEL

Consulte também

KSEVENT_ENTRY

KsAddEvent

KsFilterGenerateEvents

KsPinGenerateEvents