функция обратного вызова 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) |
См. также
IPortEvents::AddEventToEventList