NdisCompleteUnbindAdapter

VOID
    NdisCompleteUnbindAdapter(
        IN NDIS_HANDLE  UnbindAdapterContext,
        IN NDIS_STATUS  Status
        ); 

NdisCompleteUnbindAdapter completes an unbinding operation for which the caller’s ProtocolUnbindAdapter function previously returned NDIS_STATUS_PENDING.

Parameters

UnbindAdapterContext
Specifies the ProtocolBindingContext handle passed in to ProtocolUnbindAdapter.
Status
Specifies the Status of the completed unbind operation, always NDIS_STATUS_SUCCESS.

Comments

When a protocol returns NDIS_STATUS_PENDING from its ProtocolUnbindAdapter function, that driver must eventually call NdisCompleteUnbindAdapter when the unbinding operation is completed.

When NdisCompleteUnbindAdapter is called, the protocol has finished cleaning up any state the driver maintains about the binding and released any resources it allocated to establish the binding. This call notifies the NDIS library of the completion of the unbinding operation that this driver initiated when it called NdisOpenAdapter from ProtocolBindAdapter.

On return from NdisCompleteUnbindAdapter the UnbindAdapterContext handle should be considered invalid. That is, the protocol should not pass this handle in calls to any NdisXxx function.

Callers of NdisCompleteUnbindAdapter run at IRQL PASSIVE_LEVEL.

See Also

MiniportHalt, NdisCloseAdapter, NdisIMDeInitializeDeviceInstance, ProtocolBindAdapter, ProtocolUnbindAdapter