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


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

Функция PcForwardIrpSynchronous используется обработчиками IRP для пересылки irps Plug and Play в объекта физического устройства (PDO).

Синтаксис

PORTCLASSAPI NTSTATUS PcForwardIrpSynchronous(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Параметры

[in] DeviceObject

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

[in] Irp

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

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

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

Замечания

PcForwardIrpSynchronous приводит к тому, что следующий PDO получает IRP и блокируется до завершения IRP драйвером физического устройства. На этом этапе PcForwardIrpSynchronous разблокирует и возвращает вызывающий объект. Вызывающий объект (обработчик IRP) должен в конечном итоге вернуться, возможно, с состоянием STATUS_PENDING. Как правило, любой обработчик IRP, вызывающий эту функцию, должен указывать действие IRP_ACTION_FINISH при возвращении. Любое другое действие приведет к переадресации IRP физическому устройству во второй раз.

Функция PcCompleteIrp используется, когда обработчик IRP возвращает STATUS_PENDING, а IRP должен быть завершен позже.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Системный драйвер PortCls реализует функцию PcForwardIrpSynchronous в Microsoft Windows 98/Me и в Windows 2000 и более поздних операционных системах.
целевая платформа Всеобщий
заголовка portcls.h (include Portcls.h)
библиотеки Portcls.lib
IRQL PASSIVE_LEVEL

См. также

DEVICE_OBJECT

IRP

PcCompleteIrp