Функция PcDispatchIrp (portcls.h)

Функция PcDispatchIrp отправляет IRP в обработчик по умолчанию драйвера системы PortCls.

Синтаксис

PORTCLASSAPI NTSTATUS PcDispatchIrp(
  [in] PDEVICE_OBJECT pDeviceObject,
  [in] PIRP           pIrp
);

Параметры

[in] pDeviceObject

Указатель на объект устройства. Этот параметр должен указывать на системную структуру типа DEVICE_OBJECT.

[in] pIrp

Указатель на IRP , который должен быть отправлен

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

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

Комментарии

В процессе инициализации функция PcInitializeAdapterDriver загружает указатели на обработчики для нескольких irP в объект драйвера. После вызова PcInitializeAdapterDriver драйвер адаптера может перезаписать один или несколько указателей обработчика PortCls указателями на собственные обработчики IRP.

Если после получения IRP обработчик IRP драйвера адаптера определяет, что IRP должен обрабатываться обработчиком IRP PortCls, обработчик драйвера адаптера вызывает PcDispatchIrp для пересылки IRP обработчику PortCls.

Пример кода см. в примере аудиодрайвера SB16 в комплекте драйверов Microsoft Windows (WDK).

Требования

Требование Значение
Минимальная версия клиента Системный драйвер PortCls реализует функцию PcDispatchIrp в Microsoft Windows 98/Me, а также в операционных системах Windows 2000 и более поздних версий.
Целевая платформа Универсальное
Верхняя часть portcls.h
Библиотека Portcls.lib
IRQL PASSIVE_LEVEL

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

DEVICE_OBJECT

IRP

PcInitializeAdapterDriver