структура PCEVENT_ITEM (portcls.h)

Структура PCEVENT_ITEM используется для описания события, поддерживаемого определенным фильтром, закреплением или узлом.

Синтаксис

typedef struct {
  const GUID         *Set;
  ULONG              Id;
  ULONG              Flags;
  PCPFNEVENT_HANDLER Handler;
} PCEVENT_ITEM, *PPCEVENT_ITEM;

Члены

Set

Задает набор событий. Этот элемент является указателем на GUID, который однозначно идентифицирует набор событий. См. список идентификаторов GUID набора событий в разделе Наборы событий аудиодрайверов.

Id

Указывает идентификатор события. Этот элемент идентифицирует элемент события в наборе событий. Если набор событий содержит N элементов, допустимыми идентификаторами событий являются целые числа в диапазоне от 0 до N–1.

Flags

Задает тип события. Для этого элемента задано одно из следующих значений:

PCEVENT_ITEM_FLAG_ENABLE

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

PCEVENT_ITEM_FLAG_ONESHOT

Указывает, что уведомление о событии должно быть включено только для следующего вхождения этого события. Клиент не отключает (и не должен) отключать событие после его возникновения.

PCEVENT_ITEM_FLAG_BASICSUPPORT

Если клиент указывает этот флаг, драйвер возвращает STATUS_SUCCESS, если он поддерживает событие, и код ошибки, если это не так.

Handler

Указатель на подпрограмму обработчика событий драйвера мини-порта. Этот элемент является указателем функции типа PCPFNEVENT_HANDLER, который определяется следующим образом:

  typedef NTSTATUS (*PCPFNEVENT_HANDLER)
  (
      IN PPCEVENT_REQUEST  EventRequest
  );

При вызове подпрограммы обработчика вызывающий объект передает один параметр вызова, который является указателем на структуру, выделенную вызывающим объектом PCEVENT_REQUEST .

Комментарии

Структура PCEVENT_ITEM указывает конкретный элемент события в таблице автоматизации. Структура PCAUTOMATION_TABLE указывает на массив PCEVENT_ITEM структур.

В аудиоданных WDM целевым объектом для запроса на событие является экземпляр закрепления или узел в закреплении. Экземпляр фильтра не может быть целевым объектом запроса на событие.

Требования

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

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

PCAUTOMATION_TABLE

PCEVENT_REQUEST