структура 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) |