структура NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY (ndis.h)
Структура NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY указывает массив портов назначения расширяемого коммутатора Hyper-V для пакета. Каждый элемент в массиве форматируется как NDIS_SWITCH_PORT_DESTINATION структура.
Эти сведения содержатся в данных о внеполосном подключении (OOB) структуры NET_BUFFER_LIST пакета.
Синтаксис
typedef struct _NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY {
NDIS_OBJECT_HEADER Header;
UINT32 ElementSize;
UINT32 NumElements;
UINT32 NumDestinations;
PVOID FirstElement;
} NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY, *PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY;
Члены
Header
Тип, редакция и размер структуры NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY . Этот элемент имеет формат структуры NDIS_OBJECT_HEADER .
Элемент Typeзаголовка должен иметь значение NDIS_OBJECT_TYPE_DEFAULT. Чтобы указать версию структуры NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY , член редакциизаголовка должен иметь следующее значение:
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1
Исходная версия для NDIS 6.30 и более поздних версий.
Задайте для элемента Размер значение NDIS_SIZEOF_NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1.
ElementSize
Значение ULONG, указывающее размер (в байтах) каждого элемента NDIS_SWITCH_PORT_DESTINATION , следующего за структурой NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
NumElements
Значение ULONG, указывающее общее количество NDIS_SWITCH_PORT_DESTINATION элементов в структуре NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
Значение элемента NumElements указывает количество используемых в настоящее время элементов NDIS_SWITCH_PORT_DESTINATION (как указано в элементе NumDestinations ), а также количество элементов, доступных для новых портов назначения. Число неиспользуемых элементов NDIS_SWITCH_PORT_DESTINATION в структуре NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY вычисляется с помощью (NumElements - NumDestinations).
NumDestinations
Значение ULONG, указывающее количество элементов NDIS_SWITCH_PORT_DESTINATION в структуре NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY , определяющих назначения портов.
FirstElement
Указатель на первый элемент NDIS_SWITCH_PORT_DESTINATION в буфере, содержащий структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY и все ее элементы.
Комментарии
Расширение расширяемого коммутатора может выполнять следующие действия с портами назначения в структуре NET_BUFFER_LIST пакета:
-
Запрос текущих портов назначения на расширяемом коммутаторе, в который будет перенаправлен пакет.
Расширение расширяемого коммутатора вызывает функцию GetNetBufferListDestinations для получения массива назначений портов для пакета. GetNetBufferListDestinations возвращает указатель на структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY в параметре Destinations .
Дополнительные сведения см. в статье Запрос данных порта назначения расширяемого коммутатора пакета.
-
Добавьте или измените порты назначения для пакета.
После того как он запросит текущие порты назначения для пакета, расширение расширяемого коммутатора может выполнить следующие действия:
- Расширение переадресации может добавлять новые порты назначения в структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY .
-
Расширение фильтрации или пересылки может изменять данные в структуре NDIS_SWITCH_PORT_DESTINATION для порта назначения.
Примечание Расширение фильтрации может изменять только элемент IsExcluded этой структуры. Расширение пересылки также может изменять элементы PreserveVLAN и PreservePriority .
Дополнительные сведения см. в статье Управление данными порта назначения расширяемого коммутатора Hyper-V.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.30 и более поздних версиях. |
Верхняя часть | ndis.h (включая Ndis.h) |
См. также раздел
Добавление данных порта назначения расширяемого коммутатора в пакет
Исключение доставки пакетов в порты назначения расширяемого коммутатора
NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX