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

См. также раздел

AddNetBufferListDestination

AllocateNetBufferListForwardingContext

CopyNetBufferListInfo

DereferenceSwitchNic

DereferenceSwitchPort

FilterAttach

FreeNetBufferListForwardingContext

GrowNetBufferListDestinations

NDIS_OBJECT_HEADER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

ReferenceSwitchNic

ReferenceSwitchPort

ReportFilteredNetBufferLists

SetNetBufferListSource

UpdateNetBufferListDestinations