NDIS_LINK_STATE structure (ntddndis.h)

The NDIS_LINK_STATE structure specifies the current link state of a miniport adapter.

Syntax

typedef struct _NDIS_LINK_STATE {
  NDIS_OBJECT_HEADER             Header;
  NDIS_MEDIA_CONNECT_STATE       MediaConnectState;
  NDIS_MEDIA_DUPLEX_STATE        MediaDuplexState;
  ULONG64                        XmitLinkSpeed;
  ULONG64                        RcvLinkSpeed;
  NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions;
  ULONG                          AutoNegotiationFlags;
} NDIS_LINK_STATE, *PNDIS_LINK_STATE;

Members

Header

The NDIS_OBJECT_HEADER structure for the NDIS_LINK_STATE structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_DEFAULT, the Revision member to NDIS_LINK_STATE_REVISION_1, and the Size member to NDIS_SIZEOF_LINK_STATE_REVISION_1.

MediaConnectState

The media connect state for the miniport adapter. For more information, see
OID_GEN_MEDIA_CONNECT_STATUS_EX OID.

MediaDuplexState

The media duplex state for the miniport adapter. For more information, see OID_GEN_MEDIA_DUPLEX_STATE OID.

XmitLinkSpeed

The current transmit link speed of the miniport adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.

Note  A value of NDIS_LINK_SPEED_UNKNOWN indicates that the transmit link speed is unknown.
 

RcvLinkSpeed

The current receive link speed of the miniport adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.

Note  A value of NDIS_LINK_SPEED_UNKNOWN indicates that the receive link speed is unknown.
 

PauseFunctions

The type of support for the IEEE 802.3 pause frames. This member must be one of the following pause functions:

NdisPauseFunctionsUnsupported

the miniport adapter or link partner does not support pause frames.

NdisPauseFunctionsSendOnly

the miniport adapter and link partner support only sending pause frames from the miniport adapter to the link partner.

NdisPauseFunctionsReceiveOnly

the miniport adapter and link partner support only sending pause frames from the link partner to the miniport adapter

NdisPauseFunctionsSendAndReceive

the miniport adapter and link partner support sending and receiving pause frames in both transmit and receive directions.

NdisPauseFunctionsUnknown

Pause frame negotiation is in progress. The pause frame support that the link partner provides is unknown.

AutoNegotiationFlags

The auto-negotiation settings for the miniport adapter. This member is created from a bitwise OR of the following flags:

the miniport adapter has auto-negotiated the transmit link speed with the link partner.

the miniport adapter has auto-negotiated the receive link speed with the link partner.

the miniport adapter has auto-negotiated the duplex state with the link partner.

the miniport adapter has auto-negotiated the pause functions with the link partner.

Remarks

Miniport drivers use the NDIS_STATUS_LINK_STATE status indication to notify NDIS and overlying drivers that there has been a change in the physical characteristics of a medium.

When it generates this status indication, the driver sets the StatusBuffer member of the NDIS_STATUS_INDICATION structure to a pointer to an NDIS_LINK_STATE structure.

The miniport driver also returns an NDIS_LINK_STATE structure when it handles an OID query request of OID_GEN_LINK_STATE.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.0 and later.
Header ntddndis.h (include Ndis.h)

See also

NDIS_OBJECT_HEADER

NDIS_STATUS_INDICATION

NDIS_STATUS_LINK_STATE

OID_GEN_LINK_SPEED_EX

OID_GEN_LINK_STATE

OID_GEN_MEDIA_CONNECT_STATUS_EX OID_GEN_MEDIA_DUPLEX_STATE