PcCompleteIrp function (portcls.h)

The PcCompleteIrp function completes an IRP that was previously marked as pending.

Syntax

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

Parameters

[in] pDeviceObject

Pointer to the device object for the device. This parameter must point to a system structure of type DEVICE_OBJECT.

[in] pIrp

Pointer to the IRP that is to be completed

[in] ntStatus

Specifies the status of the completed IRP. See the list of NTSTATUS values defined in header file ntstatus.h.

Return value

PcCompleteIrp returns STATUS_SUCCESS if the call was successful. Otherwise, it returns an appropriate error code.

Remarks

PcCompleteIrp is used when an IRP handler returns STATUS_PENDING and the IRP must later be completed. When the adapter driver finishes all processing of the IRP, it calls PcCompleteIrp to complete the IRP.

The IRP handler should not call this function. An adapter driver's IRP handler instead calls PcDispatchIrp to pass the IRP to the PortCls system driver's IRP handler to perform all remaining processing of the IRP.

Requirements

Requirement Value
Minimum supported client The PortCls system driver implements the PcCompleteIrp function in Microsoft Windows 98/Me and in Windows 2000 and later operating systems.
Target Platform Universal
Header portcls.h (include Portcls.h)
Library Portcls.lib
IRQL <=DISPATCH_LEVEL

See also

DEVICE_OBJECT

IRP

IoCompleteRequest

PcDispatchIrp