Compartilhar via


NdisMPromoteMiniport (Compact 2013)

3/26/2014

This function promotes a secondary miniport adapter to the primary role after the primary miniport adapter is removed from the system.

Syntax

NDIS_STATUS NdisMPromoteMiniport(
  NDIS_HANDLE MiniportAdapterHandle
);

Parameters

  • MiniportAdapterHandle
    [in] Specifies the handle to the initialized adapter. The miniport driver previously called the NdisMSetMiniportSecondary function to set this miniport adapter to a secondary role.

Return Value

The following table shows the return values for this function.

Value

Description

NDIS_STATUS_SUCCESS

The secondary miniport adapter has been promoted to the primary role.

NDIS_STATUS_FAILURE

An attempt to promote the secondary miniport adapter to the primary role failed.

Remarks

A miniport driver can call NdisMPromoteMiniport, after the primary miniport adapter is removed from the system, to set a secondary miniport adapter to the primary role. In this call, the miniport driver passes the handle to a secondary miniport adapter. The miniport driver must have previously called the NdisMSetMiniportSecondary function to set this miniport adapter to a secondary role.

A miniport driver uses a bundle of miniport adapters to balance the workload that each miniport adapter carries and to enable a secondary miniport adapter to take over packet transfers and information requests if the primary miniport adapter fails. This capability is called load balancing and fail-over (LBFO). For example, if the miniport driver's primary adapter fails, the miniport driver can call the NdisMRemoveMiniport function to remove the primary adapter from the system and from the miniport driver's bundle. The miniport driver can then call NdisMPromoteMiniport to promote a secondary adapter to the primary role.

The first miniport adapter that the miniport driver initialized is initially the primary miniport adapter. The primary miniport adapter handles all packet transfers and requests for information. A miniport driver can call NdisMSetMiniportSecondary during the subsequent initialization of several miniport adapters to set them all to secondary roles. That is, multiple secondary miniport adapters can exist in a bundle.

Requirements

Header

ndis.h

Library

ndis.dll

See Also

Reference

NDIS 5.x Legacy Functions
NdisMRemoveMiniport
NdisMSetMiniportSecondary