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


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

Функция PcCompleteIrp завершает IRP, который ранее был помечен как ожидающий.

Синтаксис

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

Параметры

[in] pDeviceObject

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

[in] pIrp

Указатель на IRP , который требуется завершить

[in] ntStatus

Указывает состояние завершенного IRP. См. список значений NTSTATUS, определенных в файле заголовка ntstatus.h.

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

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

Комментарии

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

Обработчик IRP не должен вызывать эту функцию. Вместо этого обработчик IRP драйвера адаптера вызывает PcDispatchIrp для передачи IRP обработчику IRP системного драйвера PortCls для выполнения всей оставшейся обработки IRP.

Требования

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

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

DEVICE_OBJECT

IRP

IoCompleteRequest

PcDispatchIrp