структура 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.

Элемент типазаголовка должен иметь значение 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)

См. также

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations