Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура 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.
Элемент типазаголовка должен иметь значение 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 (include Ndis.h) |
См. также
AllocateNetBufferListForwardingContext
FreeNetBufferListForwardingContext