структура NDIS_BIND_PARAMETERS (ndis.h)
NDIS инициализирует структуру NDIS_BIND_PARAMETERS с информацией, которая определяет характеристики привязки и передает ее драйверу протокола.
Синтаксис
typedef struct _NDIS_BIND_PARAMETERS {
NDIS_OBJECT_HEADER Header;
PNDIS_STRING ProtocolSection;
PNDIS_STRING AdapterName;
PDEVICE_OBJECT PhysicalDeviceObject;
NDIS_MEDIUM MediaType;
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 SupportedPacketFilters;
ULONG MaxMulticastListSize;
USHORT MacAddressLength;
UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
PNDIS_RECEIVE_SCALE_CAPABILITIES RcvScaleCapabilities;
NET_LUID BoundIfNetluid;
NET_IFINDEX BoundIfIndex;
NET_LUID LowestIfNetluid;
NET_IFINDEX LowestIfIndex;
NET_IF_ACCESS_TYPE AccessType;
NET_IF_DIRECTION_TYPE DirectionType;
NET_IF_CONNECTION_TYPE ConnectionType;
NET_IFTYPE IfType;
BOOLEAN IfConnectorPresent;
PNDIS_PORT ActivePorts;
ULONG DataBackFillSize;
ULONG ContextBackFillSize;
ULONG MacOptions;
NET_IF_COMPARTMENT_ID CompartmentId;
PNDIS_OFFLOAD DefaultOffloadConfiguration;
PNDIS_TCP_CONNECTION_OFFLOAD TcpConnectionOffloadCapabilities;
PNDIS_STRING BoundAdapterName;
PNDIS_HD_SPLIT_CURRENT_CONFIG HDSplitCurrentConfig;
PNDIS_RECEIVE_FILTER_CAPABILITIES ReceiveFilterCapabilities;
PNDIS_PM_CAPABILITIES PowerManagementCapabilitiesEx;
PNDIS_NIC_SWITCH_CAPABILITIES NicSwitchCapabilities;
BOOLEAN NDKEnabled;
PNDIS_NDK_CAPABILITIES NDKCapabilities;
PNDIS_SRIOV_CAPABILITIES SriovCapabilities;
PNDIS_NIC_SWITCH_INFO_ARRAY NicSwitchArray;
} NDIS_BIND_PARAMETERS, *PNDIS_BIND_PARAMETERS;
Члены
Header
Структура NDIS_OBJECT_HEADER для структуры NDIS_BIND_PARAMETERS . NDIS задает элемент Type структуры, указанной в заголовке , NDIS_OBJECT_TYPE_BIND_PARAMETERS.
Чтобы указать версию структуры NDIS_BIND_PARAMETERS, NDIS присваивает члену Редакции одно из следующих значений:
NDIS_BIND_PARAMETERS_REVISION_4
Добавлены различные элементы для NDIS 6.30.
NDIS задает для элемента Size значение NDIS_SIZEOF_BIND_PARAMETERS_REVISION_4.
NDIS_BIND_PARAMETERS_REVISION_3
Добавлены члены ReceiveFilterCapabilities, PowerManagementCapabilitiesEx и NicSwitchCapabilities для NDIS 6.20.
NDIS задает для элемента Size значение NDIS_SIZEOF_BIND_PARAMETERS_REVISION_3.
NDIS_BIND_PARAMETERS_REVISION_2
Добавлен член HDSplitCurrentConfig для NDIS 6.1.
NDIS задает для элемента Size значение NDIS_SIZEOF_BIND_PARAMETERS_REVISION_2.
NDIS_BIND_PARAMETERS_REVISION_1
Исходная версия для NDIS 6.0.
NDIS задает для элемента Size значение NDIS_SIZEOF_BIND_PARAMETERS_REVISION_1.
ProtocolSection
Указатель на строку Юникода, содержащую путь к реестру. Путь начинается с ключа службы драйвера протокола и продолжается вниз по иерархии реестра до имени адаптера мини-порта (например, Tcpip\Parameters\Adapters\<miniport adapter name>). Имя адаптера мини-порта — это имя самого нижнего адаптера мини-порта в стеке драйверов. Если в стеке есть промежуточный драйвер MUX, самым нижним адаптером мини-порта является виртуальный минипорт. В противном случае самым нижним адаптером мини-порта является адаптер мини-порта для физического устройства.
Драйвер протокола может использовать этот путь в реестре для чтения параметров конфигурации, относящихся к привязке между драйвером и базовым адаптером мини-порта.
AdapterName
Указатель на строку Юникода, содержащую имя базового адаптера мини-порта, к которому следует привязать ProtocolBindAdapterEx .
PhysicalDeviceObject
Объект физического устройства для базового адаптера мини-порта.
MediaType
Тип NdisMediumXxx , поддерживаемый базовым адаптером мини-порта. Дополнительные сведения о типах NdisMediumXxx см. в разделе NDIS_MEDIUM.
MtuSize
Максимальный размер единицы передачи (MTU). Дополнительные сведения см. в разделе OID_GEN_MAXIMUM_FRAME_SIZE.
MaxXmitLinkSpeed
Максимальная скорость канала передачи базового адаптера в битах в секунду. Дополнительные сведения см. в разделе OID_GEN_MAX_LINK_SPEED.
XmitLinkSpeed
Текущая скорость канала передачи базового адаптера в битах в секунду. Дополнительные сведения см. в разделе OID_GEN_LINK_SPEED_EX.
MaxRcvLinkSpeed
Максимальная скорость канала приема базового адаптера в битах в секунду. Дополнительные сведения см. в разделе OID_GEN_MAX_LINK_SPEED.
RcvLinkSpeed
Текущая скорость канала получения базового адаптера в битах в секунду. Дополнительные сведения см. в разделе OID_GEN_LINK_SPEED_EX.
MediaConnectState
Состояние подключения к мультимедиа для базового адаптера мини-порта. Дополнительные сведения см. в разделе OID_GEN_MEDIA_CONNECT_STATUS_EX.
MediaDuplexState
Дуплексное состояние мультимедиа для базового адаптера мини-порта. Дополнительные сведения см. в разделе OID_GEN_MEDIA_DUPLEX_STATE.
LookaheadSize
Размер lookahead для базового адаптера мини-порта. Дополнительные сведения см. в разделе OID_GEN_CURRENT_LOOKAHEAD.
PowerManagementCapabilities
Plug and Play возможности базового адаптера мини-порта. Дополнительные сведения см. в разделе OID_PNP_CAPABILITIES. Драйверы NDIS 6.20 и более поздних версий должны использовать элемент PowerManagementCapabilitiesEx .
SupportedPacketFilters
Набор флагов, определяющих типы сетевых пакетов, которые может фильтровать базовый адаптер мини-порта.
MaxMulticastListSize
Размер списка адресов многоадресной рассылки для базового адаптера мини-порта. Дополнительные сведения см. в разделе OID_802_3_MAXIMUM_LIST_SIZE.
MacAddressLength
Длина MAC-адреса в байтах. Длина MAC-адреса зависит от типа носителя.
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
Текущий MAC-адрес. Например, OID_802_3_CURRENT_ADDRESS OID указывает текущий MAC-адрес для драйверов IEEE 802.3.
PhysicalMediumType
Тип физического носителя для адаптера мини-порта. Дополнительные сведения см. в разделе OID_GEN_PHYSICAL_MEDIUM.
RcvScaleCapabilities
Возможности масштабирования на стороне получения (RSS) сетевой карты. Дополнительные сведения см. в разделе OID_GEN_RECEIVE_SCALE_CAPABILITIES.
BoundIfNetluid
Значение NDIS NET_LUID , которое также является именем сетевого интерфейса ( ifName в RFC 2863) интерфейса самого высокого уровня, размещенного в адаптере мини-порта. То есть, если есть виртуальные минипорты или модули фильтров, установленные через адаптер мини-порта, это NET_LUID значение виртуального мини-порта или модуля фильтра самого высокого уровня.
BoundIfIndex
Индекс сетевого интерфейса NDIS интерфейса самого высокого уровня, который размещен на адаптере мини-порта. То есть, если есть виртуальные минипорты или модули фильтров, установленные через адаптер мини-порта, это ifIndex виртуального мини-порта или модуля фильтра самого высокого уровня.
LowestIfNetluid
Значение NDIS NET_LUID , которое также является именем сетевого интерфейса ( ifName в RFC 2863) интерфейса самого низкого уровня в привязке. То есть сетевой интерфейс NDIS адаптера мини-порта в нижней части стека фильтров.
LowestIfIndex
Индекс сетевого интерфейса NDIS интерфейса самого низкого уровня в привязке. То есть сетевой интерфейс NDIS адаптера мини-порта в нижней части стека фильтров.
AccessType
Тип доступа к сетевому интерфейсу NET_IF_ACCESS_TYPE NDIS.
DirectionType
Тип направления сетевого интерфейса NET_IF_DIRECTION_TYPE NDIS.
ConnectionType
Тип подключения сетевого интерфейса NDIS. Используйте NET_IF_CONNECTION_DEDICATED для типичного адаптера Ethernet. Допустимы следующие значения.
NET_IF_CONNECTION_DEDICATED
Указывает тип выделенного подключения. Подключение появляется автоматически, если значение медиасреды имеет значение TRUE. Например, подключение Ethernet выделено.
NET_IF_CONNECTION_PASSIVE
Указывает тип пассивного подключения. Другой конец должен установить подключение к локальной станции. Например, интерфейс RAS является пассивным.
NET_IF_CONNECTION_DEMAND
Указывает тип подключения по запросу. Подключение по запросу появляется в ответ на локальное действие, например, на отправку пакета.
IfType
Тип интерфейса IANA. Например, IF_TYPE_ETHERNET_CSMACD (6) — это значение ifType , назначенное любому интерфейсу, похожему на Ethernet. Список типов интерфейсов см. в разделе Типы интерфейсов NDIS.
IfConnectorPresent
Логическое значение, указывающее, присутствует ли соединитель. При наличии физического адаптера NDIS присваивает этому значению значение TRUE .
ActivePorts
Подлежит уточнению.
DataBackFillSize
Требуемый размер обратного заполнения данных (в байтах) базового стека драйверов.
ContextBackFillSize
Требуемый размер обратного заполнения контекста (в байтах) базового стека драйверов.
MacOptions
Параметры MAC для адаптера мини-порта. Дополнительные сведения см. в разделе OID_GEN_MAC_OPTIONS.
CompartmentId
Секция, к которой принадлежит базовый интерфейс, или одно из следующих значений:
NET_IF_COMPARTMENT_ID_UNSPECIFIED
Указывает, что идентификатор секции не используется или не указан.
NET_IF_COMPARTMENT_ID_PRIMARY
Задает идентификатор секции по умолчанию. Сторонние поставщики интерфейсов всегда должны указывать NET_IF_COMPARTMENT_ID_PRIMARY. Все остальные значения зарезервированы для внутреннего использования Майкрософт.
DefaultOffloadConfiguration
Указатель на структуру NDIS_OFFLOAD . Эта структура определяет возможности адаптера мини-порта с поддержкой разгрузки задач. Дополнительные сведения см. в разделе OID_TCP_OFFLOAD_CURRENT_CONFIG.
TcpConnectionOffloadCapabilities
Указатель на NDIS_TCP_CONNECTION_OFFLOAD структуры, указывающей текущие возможности разгрузки, предоставляемые базовым адаптером мини-порта.
BoundAdapterName
Указатель на строку Юникода, содержащую имя адаптера мини-порта самого высокого уровня, расположенного в базовом адаптере мини-порта. Это значит, что при наличии виртуальных мини-портов промежуточного драйвера фильтра, установленных через адаптер мини-порта, этот член является именем виртуального мини-порта промежуточного драйвера самого высокого уровня фильтра.
HDSplitCurrentConfig
Указатель на NDIS_HD_SPLIT_CURRENT_CONFIG структура. Эта структура определяет текущую конфигурацию разделения заголовков и данных базового адаптера мини-порта. Это значение может иметь значение NULL , если адаптер мини-порта не поддерживает разделение заголовков и данных.
ReceiveFilterCapabilities
Указатель на NDIS_RECEIVE_FILTER_CAPABILITIES структура. Эта структура определяет универсальные возможности фильтрации, которые в настоящее время включены в базовом адаптере мини-порта. Это значение может иметь значение NULL , если адаптер мини-порта не поддерживает фильтрацию приема.
PowerManagementCapabilitiesEx
Указатель на структуру NDIS_PM_CAPABILITIES . Эта структура определяет возможности управления питанием адаптера мини-порта. Этот член является обязательным для драйверов NDIS 6.20 и более поздних версий.
NicSwitchCapabilities
Указатель на NDIS_NIC_SWITCH_CAPABILITIES структура. Эта структура определяет возможности коммутатора сетевого адаптера базового мини-порта. Это значение может иметь значение NULL , если адаптер мини-порта не поддерживает функции коммутатора сетевой карты.
NDKEnabled
NDIS устанавливает это значение TRUE , если интерфейс поставщика сетевого ядра (NDKPI) в настоящее время включен в базовом адаптере мини-порта.
NDKCapabilities
Указатель на структуру NDIS_NDK_CAPABILITIES . Эта структура определяет возможности NDKPI, которые в настоящее время включены в базовом адаптере мини-порта. Это значение может иметь значение NULL , если адаптер мини-порта не поддерживает NDKPI.
SriovCapabilities
Указатель на структуру NDIS_SRIOV_CAPABILITIES . Эта структура определяет возможности виртуализации однокорневого ввода-вывода (SR-IOV), которые в настоящее время включены в базовом адаптере мини-порта. Это значение может иметь значение NULL , если адаптер мини-порта не поддерживает функции SR-IOV.
NicSwitchArray
Указатель на структуру NDIS_NIC_SWITCH_INFO_ARRAY . Этот массив перечисляет коммутаторы сетевой карты, созданные на адаптере мини-порта. Коммутаторы сетевого адаптера можно создавать только в том случае, если на адаптере поддерживается и включен SR-IOV.
Комментарии
NDIS передает указатель на структуру NDIS_BIND_PARAMETERS в параметре BindParameters объекта Функция ProtocolBindAdapterEx .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ndis.h (включая Ndis.h) |
См. также раздел
NDIS_RECEIVE_FILTER_CAPABILITIESOID_GEN_MEDIA_CONNECT_STATUS_EX
OID_GEN_RECEIVE_SCALE_CAPABILITIES