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 |