Partager via


NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES (Compact 2013)

3/26/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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.

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