структура 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.
Элемент типазаголовка должен иметь значение 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 в параметре назначения.
Дополнительные сведения см. в разделе Запросы данныхпорта назначения для расширяемого коммутатора пакета.
-
Добавьте или измените порты назначения для пакета.
После того как он запрашивает текущие порты назначения для пакета, расширение расширяемого коммутатора может выполнить следующее:
- Расширение пересылки может добавлять новые порты назначения в структуру NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY.
-
Расширение фильтрации или пересылки может изменять данные в NDIS_SWITCH_PORT_DESTINATION структуре для порта назначения.
Примечание Расширение фильтрации может изменить только элемент IsExcluded этой структуры. Расширение пересылки также может изменять и членов PreservePriority.
Дополнительные сведения см. в разделе Управление Hyper-V расширяемымиданными порта назначения коммутатора.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.30 и более поздних версиях. |
заголовка | ndis.h (include Ndis.h) |
См. также
добавление данных порта назначения расширяемого коммутатора в пакет
исключение доставки пакетов в порты назначения расширяемого коммутатора
NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX