Функция NdisFGetOptionalSwitchHandlers (ndis.h)

Расширения расширяемого коммутатора Hyper-V вызывают функцию NdisFGetOptionalSwitchHandlers , чтобы получить список указателей на функции обработчика расширяемых коммутаторов Hyper-V.

Синтаксис

NDIS_STATUS NdisFGetOptionalSwitchHandlers(
  [in]      NDIS_HANDLE                    NdisFilterHandle,
  [out]     PNDIS_SWITCH_CONTEXT           NdisSwitchContext,
  [in, out] PNDIS_SWITCH_OPTIONAL_HANDLERS NdisSwitchHandlers
);

Параметры

[in] NdisFilterHandle

Дескриптор NDIS, идентифицирующий этот модуль фильтра. Когда NDIS вызвал функцию FilterAttach расширения, она передала этот дескриптор в параметре NdisFilterHandle .

[out] NdisSwitchContext

Указатель на значение NDIS_SWITCH_CONTEXT, определяющее модуль расширяемого коммутатора, к которому присоединено расширение. Когда расширение вызывает функцию обработчика расширяемого переключателя, оно должно задать для параметра NdisSwitchContext значение этого дескриптора.

[in, out] NdisSwitchHandlers

Указатель на структуру NDIS_SWITCH_OPTIONAL_HANDLERS , выделенную вызывающим объектом. Если вызов будет выполнен успешно, эта структура будет содержать список указателей на функции обработчика расширяемого коммутатора.

Дополнительные сведения об этих функциях обработчика см. в разделе Функции обработчика расширяемых коммутаторов Hyper-V.

Примечание Прежде чем расширение вызовет NdisFGetOptionalSwitchHandlers, оно должно инициализировать элемент Headerструктуры NDIS_SWITCH_OPTIONAL_HANDLERS .
 

Возвращаемое значение

Если вызов выполнен успешно, NdisFGetOptionalSwitchHandlers возвращает NDIS_STATUS_SUCCESS. В противном случае он возвращает NDIS_STATUS_NOT_SUPPORTED, если расширение расширяемого коммутатора не привязано к базовому компоненту расширяемого коммутатора.

Комментарии

Расширение вызывает функцию NdisFGetOptionalSwitchHandlers из функции FilterAttach .

Если расширение установлено с несколькими inf-записями FilterMediaTypes , вызов NdisFGetOptionalSwitchHandlers позволяет ему определить, привязано ли оно к стеку драйверов для расширяемого коммутатора или физического сетевого адаптера. Если вызов возвращает NDIS_STATUS_SUCCESS, расширение присоединяется к стеку драйверов расширяемого коммутатора. Если вызов возвращает NDIS_STATUS_NOT_SUPPORTED, расширение присоединяется к стеку драйверов для физического сетевого адаптера.

Дополнительные сведения о записях INF FilterMediaTypes для расширений расширяемых коммутаторов см. в разделе Требования к INF для расширений расширяемого коммутатора Hyper-V.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.30 и более поздних версиях.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL <= DISPATCH_LEVEL

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

FilterAttach

NDIS_SWITCH_OPTIONAL_HANDLERS