NdisDeregisterProtocolDriver (Compact 2013)
3/26/2014
A protocol driver calls this function to release the resources that NDIS allocated when the driver called the NdisRegisterProtocolDriver function.
Syntax
VOID
NdisDeregisterProtocolDriver(
IN NDIS_HANDLE NdisProtocolHandle
);
Parameters
- NdisProtocolHandle
The handle returned by the NdisRegisterProtocolDriver function.
Return Value
None
Remarks
Registered protocol drivers typically call NdisDeregisterProtocolDriver when the driver's Unload routine has been called or after errors occur in the DriverEntry routine. Protocol drivers must not call NdisDeregisterProtocolDriver from any entry point that NDIS calls. Calling NdisDeregisterProtocolDriver from such an entry point could cause a deadlock.
If a protocol driver has open bindings, its call to NdisDeregisterProtocolDriver causes NDIS to call the protocol driver's ProtocolUnbindAdapterEx function one time for each open binding. NDIS calls ProtocolUnbindAdapterEx within the context of the NdisDeregisterProtocolDriver call.
After any outstanding bindings have been closed, NdisDeregisterProtocolDriver releases all the resources that NDIS allocated to track bindings and filters for the protocol driver.
Requirements
Header |
ndis.h |
See Also
Reference
NDIS Functions for Protocol Drivers
DriverEntry
NdisRegisterProtocolDriver
ProtocolUnbindAdapterEx