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


функция обратного вызова PCPFNEVENT_HANDLER (portcls.h)

EventHandler подпрограмма обрабатывает запросы на события.

Синтаксис

PCPFNEVENT_HANDLER PcpfneventHandler;

NTSTATUS PcpfneventHandler(
  [in] PPCEVENT_REQUEST EventRequest
)
{...}

Параметры

[in] EventRequest

Указатель на инициализированную структуру PCEVENT_REQUEST

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

Обработчик событий возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае возвращается соответствующий код ошибки.

Замечания

Каждое событие, которое предоставляет драйвер мини-порта, связано с обработчиком событий. Целью обработчика событий является обработка запросов событий от драйвера порта и его клиентов. EventRequest является входным параметром обработчика, который содержит следующие сведения о событии:

  • Идентификатор GUID набора событий и идентификатор события.
  • Как будет активировано событие.
  • Указатели на целевой минипорт и (для пин-объекта) потока.
Это аналогично типу сведений, предоставляемых запросами свойств.

Драйвер минипорта предоставляет обработчики событий с помощью метода IMiniport::GetDescription. Этот метод выводит структуру дескриптора (см. PCFILTER_DESCRIPTOR), которая определяет фильтр, который реализует драйвер мини-порта и связанный с ним драйвер порта вместе. Эта структура содержит указатель на таблицу автоматизации минипорта драйвера (см. PCAUTOMATION_TABLE), которая, в свою очередь, содержит указатель на массив событий драйвера минипорта. Каждый элемент массива представляет собой структуру PCEVENT_ITEM и содержит указатель функции PCPFNEVENT_HANDLER на обработчик события.

Подпрограмма EventHandler должна находиться в неупакованной памяти.

Требования

Требование Ценность
целевая платформа Настольный
заголовка portcls.h (include Portcls.h)

См. также

IMiniport::GetDescription

IPortEvents::AddEventToEventList

IPortEvents::GenerateEventList

PCAUTOMATION_TABLE

PCEVENT_ITEM

PCEVENT_REQUEST

PCFILTER_DESCRIPTOR