As a set request, NDIS and protocol drivers use the OID_PM_REMOVE_PROTOCOL_OFFLOAD OID to remove a power management protocol offload from a network adapter. The InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to a ULONG protocol offload identifier.


NDIS and protocol drivers use the OID_PM_REMOVE_PROTOCOL_OFFLOAD OID to remove a protocol offload from the underlying network adapter.

The DATA.SET_INFORMATION.InformationBuffer member of the NDIS_OID_REQUEST structure must point to a ULONG value for a previously added protocol offload identifier. NDIS sets this protocol offload identifier in the ProtocolOffloadId member of the NDIS_PM_PROTOCOL_OFFLOAD structure when NDIS sent the prior OID_PM_ADD_PROTOCOL_OFFLOAD OID request to the underlying network adapter.

Remarks for miniport driver writers

NDIS ensures that the buffer size is at least sizeof(ULONG) and contains a valid protocol offload ID. Therefore, a miniport driver's MiniportOidRequest function should return NDIS_STATUS_SUCCESS for this request.

Note  If the miniport driver is resetting, its MiniportOidRequest function should return NDIS_STATUS_NOT_ACCEPTED.

Return status codes

NDIS returns one of the following status codes for this request:


The protocol offload was removed successfully.


The request is pending completion. NDIS will pass the final status code and results to the OID request completion handler of the caller after the request is complete.


The information buffer is too small. NDIS sets the DATA.SET_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required, in bytes.


The protocol offload identifier in the OID request is not valid.



Supported in NDIS 6.20 and later. Mandatory for miniport drivers.


Ntddndis.h (include Ndis.h)

See also




Send comments about this topic to Microsoft

© 2015 Microsoft