CLOSE_ADAPTER_COMPLETE_HANDLER callback function
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
The ProtocolCloseAdapterComplete function is a required driver function that completes processing for an unbinding operation for which NdisCloseAdapter returned NDIS_STATUS_PENDING.
Syntax
CLOSE_ADAPTER_COMPLETE_HANDLER ProtocolCloseAdapterComplete;
VOID ProtocolCloseAdapterComplete(
_In_ NDIS_HANDLE ProtocolBindingContext,
_In_ NDIS_STATUS Status
)
{ ... }
Parameters
ProtocolBindingContext [in]
Specifies the handle to a protocol-allocated context area in which the protocol driver maintains per-binding run-time state. The driver supplied this handle when it called NdisOpenAdapter.Status [in]
Indicates the final status of the close operation in the underlying driver.
Return value
None
Remarks
NDIS delays calling ProtocolCloseAdapterComplete until every request pending on the binding has completed. When ProtocolCloseAdapterComplete is called, the NdisBindingHandle originally returned by NdisOpenAdapter is no longer valid. ProtocolCloseAdapterComplete cannot call any NdisXxx function that requires this handle as a parameter.
ProtocolCloseAdapterComplete releases all resources the driver allocated for per-binding network I/O operations before it returns control.
ProtocolCloseAdapterComplete must call NdisCompleteUnbindAdapter with the UnbindContext handle saved in the ProtocolBindingContext area by ProtocolUnbindAdapter. Consequently, ProtocolCloseAdapterComplete should not release the driver-allocated context area until it has called NdisCompleteUnbindAdapter.
Requirements
Target platform |
Desktop |
Version |
Not supported for NDIS 6.0 drivers in Windows Vista. Use ProtocolCloseAdapterCompleteExinstead. Supported for NDIS 5.1 drivers in Windows Vista and Microsoft Windows XP |
Header |
Ndis.h (include Ndis.h) |
IRQL |
PASSIVE_LEVEL |
See also