Porting Protocol Unbinding Operations to NDIS 6.0

In NDIS 6.0, the ProtocolUnbindAdapterEx function replaces the NDIS 5.x ProtocolUnbindAdapter function. A protocol driver calls the NdisCloseAdapterEx function (formerly NdisCloseAdapter) from ProtocolUnbindAdapterEx to close a binding to a miniport adapter.

The driver must wait for all outstanding send operations to complete and must complete all outstanding receive operations before calling NdisCloseAdapterEx.

If NDIS returns NDIS_STATUS_PENDING from NdisCloseAdapterEx, NDIS later calls the protocol driver's ProtocolCloseAdapterCompleteEx function (formerly ProtocolCloseAdapterComplete) with the final status after the close request has been completed.

Unlike NDIS 5.x, the final status of an NDIS 6.0 close operation, whether synchronous or asynchronous, is always NDIS_STATUS_SUCCESS. Similarly, ProtocolUnbindAdapterEx always succeeds.

For more information about NDIS 6.0 unbinding operations, see Unbinding from an Adapter.