NdisMResetComplete (NDIS 5.1) 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.
NdisMResetComplete returns the final status of a reset request for with the NIC driver previously returned NDIS_STATUS_PENDING.
VOID NdisMResetComplete( _In_ NDIS_HANDLE MiniportAdapterHandle, _In_ NDIS_STATUS Status, _In_ BOOLEAN AddressingReset );
- MiniportAdapterHandle [in]
Specifies the handle originally input to MiniportInitialize.
- Status [in]
Specifies the final status of the reset operation just completed
- AddressingReset [in]
A Boolean value that is TRUE if NDIS is responsible for restoring the settings for multicast addresses, packet filters, and task offload information. In this case, the miniport driver is responsible for restoring the rest of the configuration settings for the network interface card (NIC) referenced by MiniportAdapterHandle.
If AddressingReset is FALSE, the miniport driver is responsible for restoring all of the configuration settings for the NIC.
For more information, see Hardware Reset (NDIS 5.1).
If the MiniportReset function returns NDIS_STATUS_PENDING, the miniport driver must call NdisMResetComplete when it completes the reset operation. This call causes NDIS to forward the completion-status information to the protocol driver, if any, that called NdisReset to initiate the call to MiniportReset.
The NDIS library also can call the MiniportReset function, independent of any reset requests from protocol drivers bound to a particular NIC, when NDIS determines that a sent packet or a request that it submitted to the miniport driver has timed out.
Some NICs lose all multicast address, packet filter, or functional address information when a soft reset is issued. The driver of such a NIC sets AddressingReset to TRUE when it calls NdisMResetComplete, causing NDIS to call its MiniportSetInformation function to restore the addressing state. For more information, see Hardware Reset (NDIS 5.1).
A miniport driver must release any spin lock that it is holding before calling NdisMResetComplete.
In NDIS 6.0 and later, callers of NdisMResetComplete must run at IRQL <= DISPATCH_LEVEL. Otherwise, callers of NdisMResetComplete must run at IRQL = DISPATCH_LEVEL.
|See Remarks section.|