NDIS_FILTER_ATTACH_PARAMETERS (Compact 2013)

3/26/2014

This structure defines the initialization parameters for the filter module.

Syntax

typedef struct _NDIS_FILTER_ATTACH_PARAMETERS {
  IN NDIS_OBJECT_HEADER  Header;
  IN NET_IFINDEX  IfIndex;
  IN NET_LUID  NetLuid;
  IN PNDIS_STRING  FilterModuleGuidName;
  IN NET_IFINDEX  BaseMiniportIfIndex;
  IN PNDIS_STRING  BaseMiniportInstanceName;
  IN PNDIS_STRING  BaseMiniportName;
  IN NDIS_MEDIA_CONNECT_STATE  MediaConnectState;
  IN NET_IF_MEDIA_DUPLEX_STATE  MediaDuplexState;
  IN ULONG64  XmitLinkSpeed;
  IN ULONG64  RcvLinkSpeed;
  IN OUT NDIS_MEDIUM  MiniportMediaType;
  IN OUT NDIS_PHYSICAL_MEDIUM  MiniportPhysicalMediaType;
  IN NDIS_HANDLE  MiniportMediaSpecificAttributes;
  IN PNDIS_OFFLOAD  DefaultOffloadConfiguration;
  IN USHORT  MacAddressLength;
  IN UCHAR  urrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  IN NET_LUID  BaseMiniportNetLuid;
  IN NET_IFINDEX  LowerIfIndex;
  IN NET_LUID  LowerIfNetLuid;
  IN OUT ULONG  Flags;

  PNDIS_HD_SPLIT_CURRENT_CONFIG  HDSplitCurrentConfig;

} NDIS_FILTER_ATTACH_PARAMETERS, *PNDIS_FILTER_ATTACH_PARAMETERS;

Members

  • Header
    The NDIS_OBJECT_HEADER structure for the NDIS_FILTER_ATTACH_PARAMETERS structure. NDIS sets the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_FILTER_ATTACH_PARAMETERS.

    To indicate the version of the NDIS_FILTER_ATTACH_PARAMETERS structure, NDIS sets the Revision member to one of the following values:

    • NDIS_FILTER_ATTACH_PARAMETERS_REVISION_2
      Added the HDSplitCurrentConfig member.

      Set the Size member to NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_2.

    • NDIS_FILTER_ATTACH_PARAMETERS_REVISION_1
      Original version.

      NDIS sets the Size member to NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_1.

  • IfIndex
    The NDIS interface index of the filter module that NDIS is attaching to the driver stack.
  • NetLuid
    The NDIS network interface NET_LUID value for the filter module that NDIS is attaching to the driver stack. The NET_LUID is equivalent to the interface name (ifName in RFC 2863).
  • FilterModuleGuidName
    The GUID name of the filter module that NDIS is attaching.
  • BaseMiniportIfIndex
    The NDIS network interface index of the base miniport adapter. If virtual miniports or filter modules are installed over a physical miniport adapter, the value of this member is the interface index of the physical miniport adapter, or a virtual miniport of the highest level MUX intermediate driver.
  • BaseMiniportInstanceName
    A pointer to a NDIS_STRING type value that contains a counted Unicode string. This string specifies the friendly name of the interface for the base miniport adapter.
  • BaseMiniportName
    The name of the base miniport adapter.
  • MediaDuplexState
    The media duplex state for the underlying miniport adapter. For more information, see OID_GEN_MEDIA_DUPLEX_STATE.
  • XmitLinkSpeed
    The current transmit link speed of the underlying miniport adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.
  • RcvLinkSpeed
    The current receive link speed of the underlying miniport adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.
  • MiniportMediaType
    The NdisMediumXxx type that the base underlying miniport adapter supports. For more information, see NDIS NDIS NdisMediumXxx Types.
  • MiniportPhysicalMediaType
    The physical medium type for the base underlying miniport adapter. For more information, see OID_GEN_PHYSICAL_MEDIUM.
  • MiniportMediaSpecificAttributes
    A pointer to an NDIS_OBJECT_HEADER structure that identifies a structure that contains miniport media-specific attributes, or NULL if there are no such attributes. The Type member of the NDIS_OBJECT_HEADER structure identifies the type of the attributes structure. For example, if the underlying miniport adapter's media type is NdisMediumNative802_11, then the Type member should be NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES, and the MiniportMediaSpecificAttributes member points to an NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES structure.
  • DefaultOffloadConfiguration
    A pointer to an NDIS_OFFLOAD structure, which defines task offload attributes. The filter driver should review these attributes to obtain the task offload capabilities of the underlying drivers. The filter driver should modify these attributes if it is necessary to reflect any changes in the task offload support that it requires.
  • MacAddressLength
    The MAC address length, in bytes. The MAC address length is specific to the type of media.
  • CurrentMacAddress
    The current MAC address. For example, the OID_802_3_CURRENT_ADDRESS OID specifies the current MAC address for IEEE 802.3 drivers.
  • BaseMiniportNetLuid
    The NDIS network interface NET_LUID of the base miniport adapter. That is, if there are virtual miniports or filter modules that are installed over a physical miniport adapter, the value of this member is the NET_LUID of the physical miniport adapter or a virtual miniport of the highest-level MUX intermediate driver.
  • LowerIfIndex
    The NDIS network interface index of the interface under the current filter module. That is, if there are filter modules or NDIS 5.x filter intermediate drivers that are installed over a physical miniport adapter or the highest-level MUX intermediate driver, this member contains the interface index of the filter module interface or filter intermediate driver interface that is just below the current filter module. If there are no filter module or filter intermediate driver interfaces installed over the physical miniport adapter or the highest-level MUX intermediate driver, this member contains the interface index of the underlying physical miniport adapter or the highest-level MUX intermediate driver virtual miniport.
  • LowerIfNetLuid
    The NDIS network interface NET_LUID value of the interface just below the current filter module. That is, if there are filter modules or NDIS 5.x filter intermediate drivers that are installed over a physical miniport adapter or the highest-level MUX intermediate driver, this member contains the network interface NET_LUID of the filter module interface or filter intermediate driver interface that is just below the current filter module. If there are no filter module or filter intermediate driver interfaces installed over the physical miniport adapter or the highest-level MUX intermediate driver, this member contains the network interface NET_LUID of the underlying physical miniport adapter or the highest-level MUX intermediate driver virtual miniport.
  • Flags
    Reserved.
  • HDSplitCurrentConfig
    A pointer to a NDIS_HD_SPLIT_CURRENT_CONFIG structure. This structure specifies the current header-data split configuration of the underlying miniport adapter. This value can be NULL if the miniport adapter does not support header-data split.

Remarks

To define filter module attach parameters, NDIS passes a pointer to an NDIS_FILTER_ATTACH_PARAMETERS structure to the FilterAttach function.

Filter drivers should avoid issuing unnecessary OID queries. Instead, use the information in NDIS_FILTER_ATTACH_PARAMETERS, when available, to obtain information about underlying drivers.

Requirements

Header

ndis.h

See Also

Reference

NDIS Filter Driver Structures
FilterAttach
NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES
NDIS_OBJECT_HEADER
NDIS_OFFLOAD
NET_IF_MEDIA_CONNECT_STATE
OID_802_3_CURRENT_ADDRESS
OID_GEN_LINK_SPEED_EX
OID_GEN_MEDIA_CONNECT_STATUS_EX
OID_GEN_MEDIA_DUPLEX_STATE
OID_GEN_PHYSICAL_MEDIUM

Other Resources

NET_LUID