Compartilhar via


estrutura KSEVENT_ITEM (ks.h)

A estrutura KSEVENT_ITEM descreve o suporte de um minidriver para um evento específico dentro de um conjunto de eventos.

Sintaxe

typedef struct {
  ULONG            EventId;
  ULONG            DataInput;
  ULONG            ExtraEntryData;
  PFNKSADDEVENT    AddHandler;
  PFNKSREMOVEEVENT RemoveHandler;
  PFNKSHANDLER     SupportHandler;
} KSEVENT_ITEM, *PKSEVENT_ITEM;

Membros

EventId

Especifica a ID exclusiva do evento dentro do conjunto de eventos.

DataInput

Especifica o tamanho em bytes de dados de evento. Os dados do evento começam com uma estrutura KSEVENTDATA que descreve como o cliente deve ser notificado quando o evento ocorre, opcionalmente seguido por quaisquer parâmetros adicionais que especificam quando o evento ocorre. Deve ser pelo menos sizeof(KSEVENTDATA).

ExtraEntryData

Especifica o tamanho em bytes de qualquer memória adicional que o sistema deve alocar para cada solicitação de habilitação para esse evento. O driver usa essa memória para armazenar todos os dados necessários para acompanhar a solicitação de evento. A memória é alocada diretamente após o evento habilitar a estrutura de KSEVENT_ENTRY da solicitação.

AddHandler

Ponteiro para uma rotina de retorno de chamada AVStrMiniAddEvent fornecida por minidriver. Não usado pelo driver de classe de fluxo. Somente para minidrivers AVStream.

RemoveHandler

Ponteiro para uma rotina de retorno de chamada AVStrMiniRemoveEvent fornecida por minidriver. Não usado pelo driver de classe de fluxo. Somente para minidrivers AVStream.

SupportHandler

Não usado pelo driver de classe de fluxo.

Comentários

Um minidriver que especifica os membros AddHandler e RemoveHandler e não limpo corretamente os eventos podem causar um vazamento de recurso (memória/identificador).

Requisitos

Requisito Valor
Cabeçalho ks.h (inclua Ks.h)

Confira também

IOCTL_KS_DISABLE_EVENT

KSEVENTDATA

KSEVENT_ENTRY

KsDefaultAddEventHandler