структура NDIS_SWITCH_OPTIONAL_HANDLERS (ndis.h)
Структура NDIS_SWITCH_OPTIONAL_HANDLERS указывает указатели на функции обработчика расширяемых коммутаторов Hyper-V. Эти функции могут вызываться расширением расширяемого коммутатора.
Синтаксис
typedef struct _NDIS_SWITCH_OPTIONAL_HANDLERS {
NDIS_OBJECT_HEADER Header;
NDIS_SWITCH_ALLOCATE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER AllocateNetBufferListForwardingContext;
NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT_HANDLER FreeNetBufferListForwardingContext;
NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE_HANDLER SetNetBufferListSource;
NDIS_SWITCH_ADD_NET_BUFFER_LIST_DESTINATION_HANDLER AddNetBufferListDestination;
NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS_HANDLER GrowNetBufferListDestinations;
NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS_HANDLER GetNetBufferListDestinations;
NDIS_SWITCH_UPDATE_NET_BUFFER_LIST_DESTINATIONS_HANDLER UpdateNetBufferListDestinations;
NDIS_SWITCH_COPY_NET_BUFFER_LIST_INFO_HANDLER CopyNetBufferListInfo;
NDIS_SWITCH_REFERENCE_SWITCH_NIC_HANDLER ReferenceSwitchNic;
NDIS_SWITCH_DEREFERENCE_SWITCH_NIC_HANDLER DereferenceSwitchNic;
NDIS_SWITCH_REFERENCE_SWITCH_PORT_HANDLER ReferenceSwitchPort;
NDIS_SWITCH_DEREFERENCE_SWITCH_PORT_HANDLER DereferenceSwitchPort;
NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS_HANDLER ReportFilteredNetBufferLists;
NDIS_SWITCH_SET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER SetNetBufferListSwitchContext;
NDIS_SWITCH_GET_NET_BUFFER_LIST_SWITCH_CONTEXT_HANDLER GetNetBufferListSwitchContext;
PVOID SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE];
} NDIS_SWITCH_OPTIONAL_HANDLERS, *PNDIS_SWITCH_OPTIONAL_HANDLERS;
Члены
Header
Тип, редакция и размер структуры NDIS_SWITCH_OPTIONAL_HANDLERS . Этот элемент имеет формат структуры NDIS_OBJECT_HEADER .
Элемент Typeзаголовка должен иметь значение NDIS_OBJECT_TYPE_DEFAULT. Чтобы указать версию структуры NDIS_SWITCH_OPTIONAL_HANDLERS , член редакциизаголовка должен иметь следующее значение:
NDIS_SWITCH_OPTIONAL_HANDLERS_REVISION_1
Исходная версия для NDIS 6.30 и более поздних версий.
Задайте для элемента Размер значение NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1.
AllocateNetBufferListForwardingContext
Указатель на функцию AllocateNetBufferListForwardingContext .
FreeNetBufferListForwardingContext
Указатель на функцию FreeNetBufferListForwardingContext .
SetNetBufferListSource
Указатель на функцию SetNetBufferListSource .
AddNetBufferListDestination
Указатель на функцию AddNetBufferListDestination .
GrowNetBufferListDestinations
Указатель на функцию GrowNetBufferListDestinations .
GetNetBufferListDestinations
Указатель на функцию GetNetBufferListDestinations .
UpdateNetBufferListDestinations
Указатель на функцию UpdateNetBufferListDestinations .
CopyNetBufferListInfo
Указатель на функцию CopyNetBufferListInfo .
ReferenceSwitchNic
Указатель на функцию ReferenceSwitchNic .
DereferenceSwitchNic
Указатель на функцию DereferenceSwitchNic .
ReferenceSwitchPort
Указатель на функцию ReferenceSwitchPort .
DereferenceSwitchPort
Указатель на функцию DereferenceSwitchPort .
ReportFilteredNetBufferLists
Указатель на функцию ReportFilteredNetBufferLists .
SetNetBufferListSwitchContext
GetNetBufferListSwitchContext
SwitchPDReserved[NDIS_SWITCH_OPTIONAL_HANDLERS_PD_RESERVED_SIZE]
Комментарии
Функции обработчика расширяемых коммутаторов обеспечивают поддержку действий фильтрации и пересылки, выполняемых расширением расширяемого коммутатора. Эти действия включают следующие.
- Выделение или освобождение контекста переадресации. Эти данные хранятся в внеполосных данных (OOB) структуры NET_BUFFER_LIST пакета. Дополнительные сведения о контексте переадресации см. в разделе Контекст переадресации расширяемого коммутатора Hyper-V.
- Получите или задайте порты назначения, содержащиеся в контексте переадресации пакета.
- Добавьте порты назначения в контекст переадресации пакета.
Когда расширение расширяемого коммутатора вызывает NdisFGetOptionalSwitchHandlers, параметр NdisSwitchHandlers содержит указатель на структуру NDIS_SWITCH_OPTIONAL_HANDLERS . Расширение расширяемого коммутатора обычно вызывает NdisFGetOptionalSwitchHandlers из функции FilterAttach .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.30 и более поздних версиях. |
Верхняя часть | ndis.h (включая Ndis.h) |
См. также раздел
AllocateNetBufferListForwardingContext
FreeNetBufferListForwardingContext