Функция PcForwardIrpSynchronous (portcls.h)
Функция PcForwardIrpSynchronous используется обработчиками IRP для пересылки Plug and Play IRP в объект физического устройства (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 (включая Portcls.h) |
Библиотека | Portcls.lib |
IRQL | PASSIVE_LEVEL |