NdisMResetComplete macro (NDIS 6.x)

The NdisMResetComplete function returns the final status of a reset request for which the miniport driver previously returned NDIS_STATUS_PENDING.

Syntax

void NdisMResetComplete(
  NDIS_HANDLE MiniportAdapterHandle,
  NDIS_STATUS Status,
  BOOLEAN     AddressingReset
);

Parameters

MiniportAdapterHandle

The miniport adapter handle that NDIS originally passed to the MiniportInitializeEx function.

Status

The final status of the reset operation just completed. The return values are the same as those listed for the MINIPORT_RESET callback function.

AddressingReset

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.

Return value

None

Remarks

If the MiniportResetEx function returns NDIS_STATUS_PENDING, the miniport driver must call NdisMResetComplete when it completes the reset operation.

Protocol drivers cannot initiate a reset operation in NDIS 6.0 and later versions.

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 MiniportOidRequest function to restore the addressing state. For more information, see Hardware Reset.

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.

Requirements

Requirement Value
Minimum supported client Windows Vista and later
Header ndis.h
IRQL <= DISPATCH_LEVEL
DDI compliance rules Irql_Miniport_Driver_Function(ndis)

See also

NdisMResetComplete macro (NDIS 5.x)