структура NDIS_FILTER_ATTACH_PARAMETERS (ndis.h)

Структура NDIS_FILTER_ATTACH_PARAMETERS определяет параметры инициализации для модуля фильтра.

Синтаксис

typedef struct _NDIS_FILTER_ATTACH_PARAMETERS {
  NDIS_OBJECT_HEADER                Header;
  NET_IFINDEX                       IfIndex;
  NET_LUID                          NetLuid;
  PNDIS_STRING                      FilterModuleGuidName;
  NET_IFINDEX                       BaseMiniportIfIndex;
  PNDIS_STRING                      BaseMiniportInstanceName;
  PNDIS_STRING                      BaseMiniportName;
  NDIS_MEDIA_CONNECT_STATE          MediaConnectState;
  NET_IF_MEDIA_DUPLEX_STATE         MediaDuplexState;
  ULONG64                           XmitLinkSpeed;
  ULONG64                           RcvLinkSpeed;
  NDIS_MEDIUM                       MiniportMediaType;
  NDIS_PHYSICAL_MEDIUM              MiniportPhysicalMediaType;
  NDIS_HANDLE                       MiniportMediaSpecificAttributes;
  PNDIS_OFFLOAD                     DefaultOffloadConfiguration;
  USHORT                            MacAddressLength;
  UCHAR                             CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  NET_LUID                          BaseMiniportNetLuid;
  NET_IFINDEX                       LowerIfIndex;
  NET_LUID                          LowerIfNetLuid;
  ULONG                             Flags;
  PNDIS_HD_SPLIT_CURRENT_CONFIG     HDSplitCurrentConfig;
  PNDIS_RECEIVE_FILTER_CAPABILITIES ReceiveFilterCapabilities;
  PDEVICE_OBJECT                    MiniportPhysicalDeviceObject;
  PNDIS_NIC_SWITCH_CAPABILITIES     NicSwitchCapabilities;
  BOOLEAN                           BaseMiniportIfConnectorPresent;
  PNDIS_SRIOV_CAPABILITIES          SriovCapabilities;
  PNDIS_NIC_SWITCH_INFO_ARRAY       NicSwitchArray;
} NDIS_FILTER_ATTACH_PARAMETERS, *PNDIS_FILTER_ATTACH_PARAMETERS;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры NDIS_FILTER_ATTACH_PARAMETERS . NDIS задает элемент Type структуры, указанной в заголовке , NDIS_OBJECT_TYPE_FILTER_ATTACH_PARAMETERS.

Чтобы указать версию структуры NDIS_FILTER_ATTACH_PARAMETERS , NDIS устанавливает для элемента Revision одно из следующих значений:

NDIS_FILTER_ATTACH__PARAMETERS_REVISION_4

Добавлены различные члены для NDIS 6.30.

NDIS задает для элемента Size значение NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_4.

NDIS_FILTER_ATTACH_PARAMETERS_REVISION_3

Добавлены члены ReceiveFilterCapabilities, MiniportPhysicalDeviceObject и NicSwitchCapabilities для NDIS 6.20.

NDIS задает для элемента Size значение NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_3.

NDIS_FILTER_ATTACH_PARAMETERS_REVISION_2

Добавлен элемент HDSplitCurrentConfig для NDIS 6.1.

NDIS задает для элемента Size значение NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_2.

NDIS_FILTER_ATTACH_PARAMETERS_REVISION_1

Исходная версия для NDIS 6.0.

NDIS задает для элемента Size значение NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_1.

IfIndex

Индекс интерфейса NDIS модуля фильтра, который NDIS подключает к стеку драйверов.

NetLuid

Сетевой интерфейс NDIS NET_LUID значение для модуля фильтра, который NDIS подключает к стеку драйверов. NET_LUID эквивалентен имени интерфейса (ifName в RFC 2863).

FilterModuleGuidName

Имя GUID модуля фильтра, к которому подключается NDIS.

BaseMiniportIfIndex

Индекс сетевого интерфейса NDIS базового адаптера минипорта. Это значит, что при наличии виртуальных минипортов или модулей фильтров, установленных через физический адаптер минипорта, значением этого элемента является индекс интерфейса физического адаптера минипорта или виртуальный минипорт промежуточного драйвера MUX самого высокого уровня.

BaseMiniportInstanceName

Указатель на значение типа NDIS_STRING, содержащее подсчитываемую строку Юникода. Эта строка указывает понятное имя интерфейса для адаптера базового минипорта. Для Windows 2000 и более поздних версий NDIS определяет тип NDIS_STRING как тип UNICODE_STRING .

BaseMiniportName

Имя базового адаптера минипорта.

MediaConnectState

The NET_IF_MEDIA_CONNECT_STATE тип состояния подключения.

MediaDuplexState

Дуплексное состояние носителя для базового адаптера минипорта. Дополнительные сведения см. в разделе OID_GEN_MEDIA_DUPLEX_STATE.

XmitLinkSpeed

Текущая скорость канала передачи базового адаптера минипорта в битах в секунду. Дополнительные сведения см. в разделе OID_GEN_LINK_SPEED_EX.

RcvLinkSpeed

Текущая скорость канала приема базового адаптера минипорта в битах в секунду. Дополнительные сведения см. в разделе OID_GEN_LINK_SPEED_EX.

MiniportMediaType

Тип NdisMediumXxx , поддерживаемый базовым адаптером минипорта. Дополнительные сведения см. в разделе NDIS_MEDIUM.

MiniportPhysicalMediaType

Тип физического носителя для базового адаптера мини-порта. Дополнительные сведения см. в разделе OID_GEN_PHYSICAL_MEDIUM.

MiniportMediaSpecificAttributes

Указатель на структуру NDIS_OBJECT_HEADER , которая идентифицирует структуру, содержащую атрибуты мультимедиа miniport, или ЗНАЧЕНИЕ NULL , если таких атрибутов нет. Элемент Type структуры NDIS_OBJECT_HEADER определяет тип структуры атрибутов. Например, если тип мультимедиа базового адаптера минипорта — NdisMediumNative802_11, то элемент Type должен быть NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES, а элемент MiniportMediaSpecificAttributes указывает на NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES структура.

DefaultOffloadConfiguration

Указатель на структуру NDIS_OFFLOAD , которая определяет атрибуты разгрузки задачи. Драйвер фильтра должен просмотреть эти атрибуты, чтобы получить возможности разгрузки задач базовых драйверов. Драйвер фильтра должен при необходимости изменить эти атрибуты, чтобы отразить любые изменения в поддержке разгрузки задач, которые ему необходимы.

MacAddressLength

Длина MAC-адреса в байтах. Длина MAC-адреса зависит от типа носителя.

CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

Текущий MAC-адрес. Например, OID_802_3_CURRENT_ADDRESS OID указывает текущий MAC-адрес для драйверов IEEE 802.3.

BaseMiniportNetLuid

Сетевой интерфейс NDIS NET_LUID базового адаптера минипорта. Это значит, что при наличии виртуальных минипортов или модулей фильтров, установленных через физический адаптер минипорта, значением этого элемента является NET_LUID физического адаптера минипорта или виртуальный минипорт промежуточного драйвера MUX самого высокого уровня.

LowerIfIndex

Индекс сетевого интерфейса NDIS интерфейса сразу под текущим модулем фильтра. То есть, если есть модули фильтров или NDIS 5. X фильтровать промежуточные драйверы, установленные через физический адаптер мини-порта или промежуточный драйвер MUX самого высокого уровня. Этот элемент содержит индекс интерфейса интерфейса модуля фильтра или промежуточный интерфейс драйвера фильтра, который находится чуть ниже текущего модуля фильтра. Если в физическом адаптере минипорта или драйвере самого высокого уровня не установлены интерфейсы фильтров или промежуточных драйверов фильтров, этот элемент содержит индекс интерфейса базового физического адаптера или виртуального мини-порта с промежуточным драйвером MUX самого высокого уровня.

LowerIfNetLuid

Сетевой интерфейс NDIS NET_LUID значение интерфейса сразу под текущим модулем фильтра. То есть, если есть модули фильтров или NDIS 5. X фильтровать промежуточные драйверы, установленные через физический адаптер miniport или промежуточный драйвер MUX самого высокого уровня. Этот элемент содержит сетевой интерфейс NET_LUID интерфейса модуля фильтра или промежуточного интерфейса драйвера фильтра, который находится чуть ниже текущего модуля фильтра. Если в физическом адаптере минипорта или промежуточном драйвере самого высокого уровня не установлены модули фильтрации или промежуточные интерфейсы драйвера фильтра или промежуточного драйвера фильтра, этот элемент содержит сетевой интерфейс NET_LUID базового физического адаптера или виртуального мини-порта драйвера mux самого высокого уровня.

Flags

Зарезервировано для последующего использования.

HDSplitCurrentConfig

Указатель на NDIS_HD_SPLIT_CURRENT_CONFIG структура. Эта структура определяет текущую конфигурацию разделения заголовков и данных базового адаптера минипорта. Это значение может иметь значение NULL , если адаптер минипорта не поддерживает разделение заголовков и данных.

ReceiveFilterCapabilities

Указатель на NDIS_RECEIVE_FILTER_CAPABILITIES структура. Эта структура определяет возможности универсальной фильтрации, которые в настоящее время включены в базовом адаптере мини-порта. Это значение может иметь значение NULL , если адаптер минипорта не поддерживает фильтрацию приема.

MiniportPhysicalDeviceObject

Указатель на структуру DEVICE_OBJECT . Эта структура представляет физическое устройство для базового адаптера минипорта.

NicSwitchCapabilities

Указатель на NDIS_NIC_SWITCH_CAPABILITIES структура. Эта структура определяет возможности переключения сетевого адаптера базового мини-порта. Это значение может иметь значение NULL , если адаптер мини-порта не поддерживает функции коммутатора сетевой карты.

BaseMiniportIfConnectorPresent

Логическое значение, если задано значение TRUE, указывает, присутствует ли соединитель сетевого интерфейса (если) в базовом сетевом адаптере. Это значение должно иметь значение TRUE для физического адаптера.

SriovCapabilities

Указатель на структуру NDIS_SRIOV_CAPABILITIES . Эта структура определяет возможности виртуализации ввода-вывода с одним корнем (SR-IOV), которые в настоящее время включены в базовом адаптере минипорта. Это значение может иметь значение NULL , если адаптер минипорта не поддерживает функции SR-IOV.

Дополнительные сведения см. в статье Виртуализация одно корневых операций ввода-вывода (SR-IOV).

NicSwitchArray

Указатель на структуру NDIS_NIC_SWITCH_INFO_ARRAY . Этот массив перечисляет коммутаторы сетевой карты, созданные на адаптере мини-порта. Сетевые адаптеры можно создавать только в том случае, если sr-IOV поддерживается и включен на адаптере.

Примечание Начиная с Windows Server 2012, Windows поддерживает только коммутатор сетевого адаптера по умолчанию, созданный на адаптере физической функции (PF). Таким образом, этот массив может содержать только один элемент.
 

Комментарии

Чтобы определить параметры присоединения модуля фильтра, NDIS передает указатель на структуру NDIS_FILTER_ATTACH_PARAMETERS в функцию FilterAttach .

Драйверы фильтров должны избегать выдачи ненужных запросов OID. Вместо этого используйте сведения из NDIS_FILTER_ATTACH_PARAMETERS, если они доступны, для получения сведений о базовых драйверах.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Верхняя часть ndis.h (включая Ndis.h)

См. также раздел

DEVICE_OBJECT

FilterAttach

NDIS_HD_SPLIT_CURRENT_CONFIG

NDIS_MEDIUM

NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES

NDIS_NIC_SWITCH_CAPABILITIES

NDIS_NIC_SWITCH_INFO_ARRAY

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_RECEIVE_FILTER_CAPABILITIES

NDIS_SRIOV_CAPABILITIES

NET_IF_MEDIA_CONNECT_STATE

NET_LUID

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

UNICODE_STRING