Compartilhar via


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

Confira também

KSBUFFER_ITEM