NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES (Compact 7)
3/12/2014
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;
} 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_GENERIC_ATTRIBUTES, the Revision member to NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1, and 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 NdisMediumXxx Types
- 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 kbps. For more information, see OID_GEN_LINK_SPEED_EX.
- MediaConnectState
The media connect state for the miniport adapter. For more information, see OIDOID_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.
- 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. For more information, see OID_GEN_SUPPORTED_PACKET_FILTERS.
- MaxMulticastListSize
The multicast 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 kind of media.
- PermanentMacAddress
The permanent MAC address. For example, the OID_802_3_PERMANENT_ADDRESS specifies the permanent MAC address for IEEE 802.3 drivers.
- CurrentMacAddress
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 scaling capabilities of the network adapter.
- 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.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 OID_GEN_STATISTICS 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.
- NDIS_STATISTICS_DIRECTED_FRAMES_RCV_SUPPORTED
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.
- NdisPauseFunctionsUnsupported
- 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.
- NDIS_LINK_STATE_XMIT_LINK_SPEED_AUTO_NEGOTIATED
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
Header |
ndis.h |
See Also
Reference
Miniport Driver Structures
MiniportInitializeEx
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES
NDIS_OBJECT_HEADER
OID_GEN_STATISTICS
NdisMSetMiniportAttributes
NET_IF_ACCESS_TYPE
NET_IF_CONNECTION_TYPE
NET_IF_DIRECTION_TYPE
OID_802_3_CURRENT_ADDRESS
OID_802_3_MAXIMUM_LIST_SIZE
OID_802_3_PERMANENT_ADDRESS
OID_GEN_CURRENT_LOOKAHEAD
OID_GEN_LINK_SPEED_EX
OID_GEN_MAC_OPTIONS
OID_GEN_MAX_LINK_SPEED
OID_GEN_MAXIMUM_FRAME_SIZE
OID_GEN_MEDIA_CONNECT_STATUS_EX
OID_GEN_MEDIA_DUPLEX_STATE
OID_GEN_PHYSICAL_MEDIUM
OID_GEN_STATISTICS
OID_GEN_SUPPORTED_LIST
OID_GEN_SUPPORTED_PACKET_FILTERS
OID_PNP_CAPABILITIES