структура KSEVENT_ITEM (ks.h)

Структура KSEVENT_ITEM описывает поддержку мини-накопителем определенного события в наборе событий.

Синтаксис

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

Члены

EventId

Указывает уникальный идентификатор события в наборе событий.

DataInput

Задает размер данных события в байтах. Данные события начинаются со структуры KSEVENTDATA , которая описывает, как клиент должен получать уведомления о возникновении события, при необходимости следуют любые дополнительные параметры, определяющие время возникновения события. Должен быть не менее sizeof(KSEVENTDATA).

ExtraEntryData

Указывает размер в байтах любой дополнительной памяти, которую система должна выделять для каждого запроса на включение для этого события. Драйвер использует эту память для хранения всех данных, необходимых для отслеживания запроса на событие. Память выделяется непосредственно после KSEVENT_ENTRY структуры запроса включения события.

AddHandler

Указатель на подпрограмму обратного вызова AVStrMiniAddEvent , предоставляемую мини-driver. Не используется драйвером класса потока. Только для мини-драйверов AVStream.

RemoveHandler

Указатель на подпрограмму обратного вызова AVStrMiniRemoveEvent , предоставляемую мини-отверткой. Не используется драйвером класса потока. Только для мини-драйверов AVStream.

SupportHandler

Не используется драйвером класса потока.

Комментарии

Мини-диск, который указывает элементы AddHandler и RemoveHandler и неправильно очищает события, может привести к утечке ресурса (памяти или дескриптора).

Требования

Требование Значение
Заголовок ks.h (включая Ks.h)

См. также раздел

IOCTL_KS_DISABLE_EVENT

KSEVENTDATA

KSEVENT_ENTRY

KsDefaultAddEventHandler