OID_GEN_LINK_PARAMETERS (Compact 7)
3/12/2014
As a set, NDIS and overlying drivers use this OID to set the current link state of a miniport adapter. The miniport driver receives the duplex state, link speeds, and pause functions in an NDIS_LINK_PARAMETERS structure.
Syntax
typedef struct _NDIS_LINK_PARAMETERS {
NDIS_OBJECT_HEADER Header;
NDIS_MEDIA_DUPLEX_STATE MediaDuplexState;
ULONG64 XmitLinkSpeed;
ULONG64 RcvLinkSpeed;
NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions;
ULONG AutoNegotiationFlags;
} NDIS_LINK_PARAMETERS, *PNDIS_LINK_PARAMETERS;
Members
- Header
The NDIS_OBJECT_HEADER structure for the NDIS_LINK_PARAMETERS structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_LINK_PARAMETERS, the Revision member to NDIS_LINK_PARAMETERS_REVISION_1, and the Size member to sizeof(NDIS_LINK_PARAMETERS).
- MediaDuplexState
The media duplex state. This value is the same as the value that is returned by the OID_GEN_MEDIA_DUPLEX_STATE OID.
- XmitLinkSpeed
The transmit link speed in bits per second.
- RcvLinkSpeed
The receive link speed in bits per second.
PauseFunctions
The type of support for the IEEE 802.3 pause frames. This member must be one of the following pause functions:- NdisPauseFunctionsUnsupported
The adapter or link partner does not support pause frames.
- NdisPauseFunctionsSendOnly
The adapter and link partner support only sending pause frames from the adapter to the link partner.
- NdisPauseFunctionsReceiveOnly
The adapter and link partner support only sending pause frames from the link partner to the adapter
- NdisPauseFunctionsSendAndReceive
The adapter and link partner support sending and receiving pause frames in both transmit and receive directions.
- NdisPauseFunctionsUnsupported
AutoNegotiationFlags
The auto-negotiation settings for the miniport adapter. This member is created from a bitwise OR of the following flags:- NDIS_LINK_STATE_XMIT_LINK_SPEED_AUTO_NEGOTIATED
The adapter should auto-negotiate the transmit link speed with the link partner. If this flag is not set, the miniport driver should set the transmit link speed to the value that is specified in the XmitLinkSpeed member.
- NDIS_LINK_STATE_RCV_LINK_SPEED_AUTO_NEGOTIATED
The adapter should auto-negotiate the receive link speed with the link partner. If this flag is not set, the miniport driver should set the receive link speed to the value that is specified in the RcvLinkSpeed member.
- NDIS_LINK_STATE_DUPLEX_AUTO_NEGOTIATED
The adapter should auto-negotiate the duplex state with the link partner. If this flag is not set, the miniport driver should set the duplex state to the value that is specified in the MediaDuplexState member.
- NDIS_LINK_STATE_PAUSE_FUNCTIONS_AUTO_NEGOTIATED
The miniport driver should auto-negotiate the support for pause frames with the other end. If this flag is not set, the miniport driver should use the pause frame support that is specified in the PauseFunctions member.
- NDIS_LINK_STATE_XMIT_LINK_SPEED_AUTO_NEGOTIATED
Remarks
Setting OID_GEN_LINK_PARAMETERS can cause a loss of connectivity. Miniport drivers must reconfigure the miniport adapter when this OID is set. For example, the miniport driver can reset the miniport adapter with the resulting loss of existing connections. The specific mechanism for reconfiguration is application dependent.
If the link state of the miniport adapter changes because of the OID_GEN_LINK_PARAMETERS set request, the miniport driver should generate an NDIS_STATUS_LINK_STATEstatus indication to notify NDIS and overlying drivers of the new link state.
Requirements
Header |
ntddndis.h |
See Also
Reference
NDIS 6.0 General OIDs for Miniport Drivers
NDIS_OBJECT_HEADER
NDIS_STATUS_LINK_STATE
OID_GEN_MEDIA_DUPLEX_STATE