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

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

DEVICE_OBJECT

IRP

PcCompleteIrp