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