Функция обратного вызова PFNKSADDEVENT (ks.h)

Подпрограмма AVStrMiniAddEvent minidriver AVStream вызывается, когда клиент регистрируется для уведомления о событии. Эта подпрограмма является необязательной.

Синтаксис

PFNKSADDEVENT Pfnksaddevent;

NTSTATUS Pfnksaddevent(
  [in] PIRP Irp,
  [in] PKSEVENTDATA EventData,
  [in] _KSEVENT_ENTRY *EventEntry
)
{...}

Параметры

[in] Irp

Указывает IRP, описывающий запрос на добавление события.

[in] EventData

Указатель на структуру KSEVENTDATA , описывающую метод уведомления для этого события.

[in] EventEntry

Указатель на структуру KSEVENT_ENTRY , созданную AVStream, которая описывает, как запускается событие.

Возвращаемое значение

AVStrMiniAddEvent должен возвращать STATUS_SUCCESS или ошибку, относящееся к включенному событию.

Комментарии

Если обработчик событий добавления не указан, AVStream добавит событие в список объектов. См. раздел Обработка событий в AVStream.

Часто этот обратный вызов реализует поведение конкретного поставщика, а затем вызывает KsFilterAddEvent или KsPinAddEvent. Мини-диск передает указатель EventEntry , полученный здесь, в вызовах KsFilterAddEvent или KsPinAddEvent.

Мини-driver указывает адрес этой подпрограммы в элементе AddHandlerструктуры KSEVENT_ITEM . Обработка событий в AVStream описывает, как мини-драйвер предоставляет эту структуру драйверу класса.

Если мини-driver AVStream указывает AddHandler как отличное от NULL, AVStream не добавляет элемент в список событий объекта. Если minidriver указывает AddHandler и не добавляет событие в список событий объекта с помощью KsDefaultAddEventHandler() или вызова Ks*AddEvent , мини-диск отвечает за очистку события.

Требования

Требование Значение
Минимальная версия клиента Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях.
Целевая платформа Персональный компьютер
Верхняя часть ks.h (включая Ks.h)

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

AVStrMiniRemoveEvent

KSAUTOMATION_TABLE

KSEVENTDATA

KSEVENT_ENTRY

KSEVENT_ITEM

KsFilterAddEvent

KsFilterGenerateEvents

KsPinAddEvent

KsPinGenerateEvents