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


Метод 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 является необязательным параметром. Значение Setnull — это дикий карта, соответствующий всем идентификаторам GUID набора событий в списке. В противном случае сигнализируется только о записях событий с соответствующими идентификаторами GUID набора событий.

[in] EventId

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

[in] PinEvent

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

[in] PinId

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

[in] NodeEvent

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

[in] NodeId

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

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

None

Remarks

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

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

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть portcls.h (включая Portcls.h)
IRQL Любой уровень. (См. раздел примeчаний).

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

Eventhandler

IPortEvents

IPortEvents::AddEventToEventList