NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure (ndis.h)
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;
PNDIS_PM_CAPABILITIES PowerManagementCapabilitiesEx;
} NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES;
Members
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.
Flags
Reserved for NDIS.
MediaType
The NdisMediumXxx type that the miniport adapter supports. For more information, see NDIS_MEDIUM.
PhysicalMediumType
The physical medium type for the miniport adapter. For more information, see OID_GEN_PHYSICAL_MEDIUM
MtuSize
The maximum transfer unit (MTU) size. For more information, see OID_GEN_MAXIMUM_FRAME_SIZE.
MaxXmitLinkSpeed
The maximum transmit link speed of the adapter in bits per second. For more information, see OID_GEN_MAX_LINK_SPEED.
XmitLinkSpeed
The current transmit link speed of the adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.
MaxRcvLinkSpeed
The maximum receive link speed of the adapter in bits per second. For more information, see OID_GEN_MAX_LINK_SPEED.
RcvLinkSpeed
The current receive link speed of the adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.
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.
LookaheadSize
The lookahead size for the miniport adapter. For more information, see OID_GEN_CURRENT_LOOKAHEAD.
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.
MacOptions
The MAC options for the miniport adapter. For more information, see OID_GEN_MAC_OPTIONS.
SupportedPacketFilters
The packet filter flags for the miniport adapter.
MaxMulticastListSize
The multicast address list size for the miniport adapter. For more information, see OID_802_3_MAXIMUM_LIST_SIZE.
MacAddressLength
The MAC address length, in bytes. The MAC address length is specific to the type of media.
PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
The permanent MAC address. For example, the OID_802_3_PERMANENT_ADDRESS OID specifies the permanent MAC address for IEEE 802.3 drivers.
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
The current MAC address. For example, the OID_802_3_CURRENT_ADDRESS OID specifies the current MAC address for IEEE 802.3 drivers.
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.
AccessType
A NET_IF_ACCESS_TYPE NDIS network interface access type.
DirectionType
A NET_IF_DIRECTION_TYPE NDIS network interface direction type.
ConnectionType
A NET_IF_CONNECTION_TYPE NDIS network interface connection type.
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.
IfConnectorPresent
A Boolean value that indicates if a connector is present. Set this value to TRUE if there is a physical adapter.
SupportedStatistics
The supported statistics.
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.
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.
DataBackFillSize
The required data backfill size, in bytes, of the driver.
ContextBackFillSize
The required context backfill size, in bytes, of the driver.
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 .
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.
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.
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 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
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.0 and later. |
Header | ndis.h (include Ndis.h) |