_NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure

An NDIS miniport driver sets up an NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure to define the general miniport driver attributes that are associated with a miniport adapter.

Syntax

typedef struct _NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES {
  NDIS_OBJECT_HEADER               Header;
  ULONG                            Flags;
  NDIS_MEDIUM                      MediaType;
  NDIS_PHYSICAL_MEDIUM             PhysicalMediumType;
  ULONG                            MtuSize;
  ULONG64                          MaxXmitLinkSpeed;
  ULONG64                          XmitLinkSpeed;
  ULONG64                          MaxRcvLinkSpeed;
  ULONG64                          RcvLinkSpeed;
  NDIS_MEDIA_CONNECT_STATE         MediaConnectState;
  NDIS_MEDIA_DUPLEX_STATE          MediaDuplexState;
  ULONG                            LookaheadSize;
  PNDIS_PNP_CAPABILITIES           PowerManagementCapabilities;
  ULONG                            MacOptions;
  ULONG                            SupportedPacketFilters;
  ULONG                            MaxMulticastListSize;
  USHORT                           MacAddressLength;
  UCHAR                            PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  UCHAR                            CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  PNDIS_RECEIVE_SCALE_CAPABILITIES RecvScaleCapabilities;
  NET_IF_ACCESS_TYPE               AccessType;
  NET_IF_DIRECTION_TYPE            DirectionType;
  NET_IF_CONNECTION_TYPE           ConnectionType;
  NET_IFTYPE                       IfType;
  BOOLEAN                          IfConnectorPresent;
  ULONG                            SupportedStatistics;
  ULONG                            SupportedPauseFunctions;
  ULONG                            DataBackFillSize;
  ULONG                            ContextBackFillSize;
  PNDIS_OID                        SupportedOidList;
  ULONG                            SupportedOidListLength;
  ULONG                            AutoNegotiationFlags;
#if (NDIS_SUPPORT_NDIS620)
  PNDIS_PM_CAPABILITIES            PowerManagementCapabilitiesEx;
#endif 
} NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES;

Members

AccessType

A NET_IF_ACCESS_TYPE NDIS network interface access type.

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 has auto-negotiated the transmit link speed with the link partner.

NDIS_LINK_STATE_RCV_LINK_SPEED_AUTO_NEGOTIATED

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

NDIS_LINK_STATE_DUPLEX_AUTO_NEGOTIATED

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

NDIS_LINK_STATE_PAUSE_FUNCTIONS_AUTO_NEGOTIATED

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

ConnectionType

A NET_IF_CONNECTION_TYPE NDIS network interface connection type.

ContextBackFillSize

The required context backfill size, in bytes, of the driver.

CurrentMacAddress

The current MAC address. For example, the OID_802_3_CURRENT_ADDRESS OID specifies the current MAC address for IEEE 802.3 drivers.

DataBackFillSize

The required data backfill size, in bytes, of the driver.

DirectionType

A NET_IF_DIRECTION_TYPE NDIS network interface direction type.

Flags

Reserved for NDIS.

Header

The NDIS_OBJECT_HEADER structure for the NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES.

To indicate the version of the NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure, set the Revision member to one of the following values:

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2

Added the PowerManagementCapabilitiesEx member for NDIS 6.2.

Set the Size member to NDIS_SIZEOF_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2.

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1

Original version for NDIS 6.0 and NDIS 6,1.

Set the Size member to NDIS_SIZEOF_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1.

IfConnectorPresent

A Boolean value that indicates if a connector is present. Set this value to TRUE if there is a physical adapter.

IfType

The Internet Assigned Numbers Authority (IANA) interface type. For example, IF_TYPE_ETHERNET_CSMACD (6) is the value for IfType that is assigned to any Ethernet-like interface. For a list if interface types, see NDIS Interface Types.

LookaheadSize

The lookahead size for the miniport adapter. For more information, see OID_GEN_CURRENT_LOOKAHEAD.

MacAddressLength

The MAC address length, in bytes. The MAC address length is specific to the type of media.

MacOptions

The MAC options for the miniport adapter. For more information, see OID_GEN_MAC_OPTIONS.

MaxMulticastListSize

The multicast address list size for the miniport adapter. For more information, see OID_802_3_MAXIMUM_LIST_SIZE.

MaxRcvLinkSpeed

The maximum receive link speed of the adapter in bits per second. For more information, see OID_GEN_MAX_LINK_SPEED.

MaxXmitLinkSpeed

The maximum transmit link speed of the adapter in bits per second. For more information, see OID_GEN_MAX_LINK_SPEED.

MediaConnectState

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

MediaDuplexState

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

MediaType

The NdisMediumXxx type that the miniport adapter supports. For more information, see NDIS_MEDIUM.

MtuSize

The maximum transfer unit (MTU) size. For more information, see OID_GEN_MAXIMUM_FRAME_SIZE.

PermanentMacAddress

The permanent MAC address. For example, the OID_802_3_PERMANENT_ADDRESS OID specifies the permanent MAC address for IEEE 802.3 drivers.

PhysicalMediumType

The physical medium type for the miniport adapter. For more information, see OID_GEN_PHYSICAL_MEDIUM

PowerManagementCapabilities

The Plug and Play (PnP) capabilities of the miniport adapter. For more information about PnP capabilities, see OID_PNP_CAPABILITIES. If the miniport adapter is not power management-aware, the miniport driver should set PowerManagementCapabilities to NULL. NDIS 6.20 and later drivers must use the PowerManagementCapabilitiesEx member instead.

PowerManagementCapabilitiesEx

A pointer to an NDIS_PM_CAPABILITIES structure. This structure specifies power management capabilities of the miniport adapter. This member is mandatory for NDIS 6.20 and later drivers.

RcvLinkSpeed

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

RecvScaleCapabilities

The receive side scaling (RSS) capabilities of the NIC. If the miniport adapter does not support the RSS feature, set RecvScaleCapabilities to NULL. For more information about RSS, see OID_GEN_RECEIVE_SCALE_CAPABILITIES.

SupportedOidList

A list of OIDs that the miniport driver supports. For more information, see OID_GEN_SUPPORTED_LIST.

SupportedOidListLength

The size, in bytes, of the OID list at SupportedOidList .

SupportedPacketFilters

The packet filter flags for the miniport adapter. For more information, see OID_GEN_SUPPORTED_PACKET_FILTERS.

SupportedPauseFunctions

Support for the IEEE 802.3 pause frames as one of the following pause functions:

NdisPauseFunctionsUnsupported

Indicates that the adapter or link partner does not support pause frames.

NdisPauseFunctionsSendOnly

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

NdisPauseFunctionsReceiveOnly

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

NdisPauseFunctionsSendAndReceive

Indicates that the adapter and link partner support sending and receiving pause frames in both transint and receive directions.

NdisPauseFunctionsUnknown

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

SupportedStatistics

The supported statistics.

Note NDIS 6.0 drivers must support all statistics and must report them when the drivers are queried for OID_GEN_STATISTICS.
The value is the bitwise OR of the following flags:

NDIS_STATISTICS_DIRECTED_FRAMES_RCV_SUPPORTED

The data in the ifHCInUcastPkts member is valid.

NDIS_STATISTICS_MULTICAST_FRAMES_RCV_SUPPORTED

The data in the ifHCInMulticastPkts member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_BROADCAST_FRAMES_RCV_SUPPORTED

The data in the ifHCInBroadcastPkts member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_BYTES_RCV_SUPPORTED

The data in the ifHCInOctets member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_RCV_DISCARDS_SUPPORTED

The data in the ifInDiscards member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_RCV_ERROR_SUPPORTED

The data in the ifInErrors member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_DIRECTED_FRAMES_XMIT_SUPPORTED

The data in the ifHCOutUcastPkts member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_MULTICAST_FRAMES_XMIT_SUPPORTED

The data in the ifHCOutMulticastPkts member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_BROADCAST_FRAMES_XMIT_SUPPORTED

The data in the ifHCOutBroadcastPkts member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_BYTES_XMIT_SUPPORTED

The data in the ifHCOutOctets member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_XMIT_ERROR_SUPPORTED

The data in the ifOutErrors member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_XMIT_DISCARDS_SUPPORTED

The data in the ifOutDiscards member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_DIRECTED_BYTES_RCV_SUPPORTED

The data in the ifHCInUcastOctets member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_MULTICAST_BYTES_RCV_SUPPORTED

The data in the ifHCInMulticastOctets member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_BROADCAST_BYTES_RCV_SUPPORTED

The data in the ifHCInBroadcastOctets member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_DIRECTED_BYTES_XMIT_SUPPORTED

The data in the ifHCOutUcastOctets member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_MULTICAST_BYTES_XMIT_SUPPORTED

The data in the ifHCOutMulticastOctets member of NDIS_STATISTICS_INFO is valid.

NDIS_STATISTICS_BROADCAST_BYTES_XMIT_SUPPORTED

The data in the ifHCOutBroadcastOctets member of NDIS_STATISTICS_INFO is valid.

XmitLinkSpeed

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

Remarks

A miniport driver passes a pointer to an NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure in the MiniportAttributes parameter of the NdisMSetMiniportAttributes function. A miniport driver calls NdisMSetMiniportAttributes from its MiniportInitializeEx function during initialization. Miniport drivers should set the these attributes after they set the registration attributes in the NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES structure and before they set any other attributes. Setting these attribute is mandatory.

Requirements

   
Windows version Supported in NDIS 6.0 and later. Supported in NDIS 6.0 and later.
Header ndis.h (include Ndis.h)

See Also

OID_802_3_CURRENT_ADDRESS

NET_IF_ACCESS_TYPE

OID_PNP_CAPABILITIES

OID_GEN_SUPPORTED_PACKET_FILTERS

OID_GEN_LINK_SPEED_EX

OID_GEN_MAC_OPTIONS

OID_GEN_MAXIMUM_FRAME_SIZE

NdisMSetMiniportAttributes

OID_802_3_MAXIMUM_LIST_SIZE

NET_IF_DIRECTION_TYPE

OID_GEN_SUPPORTED_LIST

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES

OID_802_3_PERMANENT_ADDRESS

OID_GEN_MEDIA_DUPLEX_STATE

MiniportInitializeEx

OID_GEN_MEDIA_CONNECT_STATUS_EX

NET_IF_CONNECTION_TYPE

NDIS_PM_CAPABILITIES

OID_GEN_STATISTICS

OID_GEN_CURRENT_LOOKAHEAD

NDIS_OBJECT_HEADER

NDIS_MEDIUM

NDIS_STATISTICS_INFO

OID_GEN_PHYSICAL_MEDIUM

OID_GEN_MAX_LINK_SPEED

Send comments about this topic to Microsoft