Поделиться через


Метод IPortEvents::GenerateEventList (portcls.h)

Метод GenerateEventList уведомляет клиентов через список записей драйвера порта о том, что произошло определенное событие.

Синтаксис

void GenerateEventList(
  [in, optional] GUID  *Set,
  [in]           ULONG EventId,
  [in]           BOOL  PinEvent,
  [in]           ULONG PinId,
  [in]           BOOL  NodeEvent,
  [in]           ULONG NodeId
);

Параметры

[in, optional] Set

Определяет набор событий, к которому принадлежит событие. Этот параметр является указателем на GUID. Set является необязательным параметром. Задать значение NULL — это подстановочная карточка, которая соответствует всем идентификаторам GUID набора событий в списке. В противном случае сигналируются только записи событий с соответствующими идентификаторами GUID набора событий.

[in] EventId

Указывает идентификатор события. Этот параметр задает индекс события в наборе событий. Если набор событий содержит n событий, допустимые идентификаторы событий находятся в диапазоне от 0 до n-1. Сигналируют только записи событий с соответствующими идентификаторами событий.

[in] PinEvent

Указывает, следует ли использовать pinId pinId при определении того, какие записи событий должны сигнализировать. Если PinEventFALSE, PinId рассматривается как подстановочная карточка, которая соответствует всем идентификаторам пин-кода в списке.

[in] PinId

Указывает идентификатор пин-кода события, который будет сигнализировать. Если PinEventTRUE, то сигнал сигналируют только записи событий с соответствующими идентификаторами пин-кода.

[in] NodeEvent

Указывает, следует ли использовать NodeId при определении того, какие записи событий должны сигнализировать. Если NodeEventFALSE, NodeId рассматривается как подстановочная карточка, которая соответствует всем идентификаторам узлов в списке.

[in] NodeId

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

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

Никакой

Замечания

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

Хотя вызывающие GenerateEventList могут работать в любом IRQL, они подвергаются некоторым ограничениям при вызове irQL > DISPATCH_LEVEL. В частности, если текущая реализация GenerateEventList вызывается в IRQL > DISPATCH_LEVEL, метод очереди DPC для обработки списка событий. Этот DPC содержит контекст параметра для одного вызова. В результате сигнальные события иногда могут быть пропущены, если несколько вызовов выполняются в IRQL > DISPATCH_LEVEL.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка portcls.h (include Portcls.h)
IRQL Любой уровень. (См. раздел "Примечания".)

См. также

EventHandler

IPortEvents

IPortEvents::AddEventToEventList