Função KsGenerateDataEvent (ks.h)
A função KsGenerateDataEvent gera uma das notificações de evento padrão quando dada uma estrutura de entrada de evento e dados de retorno de chamada. Isso permite que um dispositivo determine quando as notificações de evento devem ser geradas, mas ainda usam essa função auxiliar para executar a notificação real.
Sintaxe
KSDDKAPI NTSTATUS KsGenerateDataEvent(
[in] PKSEVENT_ENTRY EventEntry,
[in] ULONG DataSize,
[in] PVOID Data
);
Parâmetros
[in] EventEntry
Especifica a estrutura de entrada de evento que faz referência aos dados do evento. As informações são usadas para determinar que tipo de notificação executar. Se o tipo de notificação não for um dos padrões predefinidos, um erro será retornado. No caso de um único evento não recorrente, essa entrada será inválida quando retornada da função. Portanto, qualquer código que enumera uma lista de eventos deve pré-criar para adquirir o próximo evento na lista antes de passar esse evento para a função.
[in] DataSize
Especifica o tamanho em bytes do parâmetro Data passado.
[in] Data
Aponta para os dados a serem passados para o retorno de chamada do cliente. Esses dados são copiados para um dos slots de buffer pré-alocados configurados quando o evento foi habilitado. O tamanho dos dados deve ser menor do que o que foi originalmente alocado ou o evento falhará.
Retornar valor
A função KsGenerateDataEvent retornará STATUS_SUCCESS se tiver êxito ou, se não tiver êxito, retornará uma exceção ou erro de memória.
Comentários
Supõe-se que o bloqueio de lista de eventos tenha sido adquirido antes que essa função seja chamada. Essa função pode resultar em uma chamada para RemoveHandler para a entrada do evento. Portanto, a função não deve ser chamada em mais alto que o nível IRQ do bloqueio ou a função Remover deve ser capaz de lidar com ser chamada em tal nível IRQ.
Essa função é especificamente para eventos que passam dados de volta por meio de um retorno de chamada para um cliente.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |