Функция 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 |