Поделиться через


функция обратного вызова NDIS_SWITCH_REFERENCE_SWITCH_NIC (ndis.h)

Функция ReferenceSwitchNic увеличивает счетчик ссылок расширяемого коммутатора Hyper-V для сетевого адаптера, подключенного к порту расширяемого коммутатора.

Синтаксис

NDIS_SWITCH_REFERENCE_SWITCH_NIC NdisSwitchReferenceSwitchNic;

NDIS_STATUS NdisSwitchReferenceSwitchNic(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId,
  [in] NDIS_SWITCH_NIC_INDEX SwitchNicIndex
)
{...}

Параметры

[in] NdisSwitchContext

Значение NDIS_SWITCH_CONTEXT, содержащее дескриптор модуля расширяемого коммутатора, к которому подключено расширение расширяемого коммутатора Hyper-V. Когда расширение вызывает NdisFGetOptionalSwitchHandlers, этот дескриптор возвращается через параметр NdisSwitchContext .

[in] SwitchPortId

Значение NDIS_SWITCH_PORT_ID, содержащее уникальный идентификатор порта расширяемого коммутатора, к которому подключен виртуальный сетевой адаптер.

[in] SwitchNicIndex

Значение NDIS_SWITCH_NIC_INDEX, указывающее индекс виртуального сетевого адаптера, для которого должен увеличиваться счетчик ссылок расширяемого коммутатора.

Дополнительные сведения о NDIS_SWITCH_NIC_INDEX значениях см. в разделе Значения индекса сетевого адаптера.

Примечание Этот параметр должен указывать значение индекса сетевого адаптера, который находится в подключенном состоянии. Нельзя указать значения индекса для сетевых адаптеров, которые находятся в состоянии создания или отключения. Дополнительные сведения о состояниях сетевого подключения см. в статье Состояния порта расширяемого коммутатора Hyper-V и состояния сетевого адаптера.
 

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

Если вызов выполнен успешно, функция возвращает NDIS_STATUS_SUCCESS. В противном случае возвращается код ошибки NDIS_STATUS_Xxx, определенный в Ndis.h.

Комментарии

Расширение расширяемого коммутатора вызывает ReferenceSwitchNic для увеличения счетчика ссылок для сетевого адаптера, подключенного к порту расширяемого коммутатора. Хотя счетчик ссылок имеет ненулевое значение, ребро протокола расширяемого коммутатора не будет выдавать запрос на набор идентификатора объекта (OID) OID_SWITCH_NIC_DELETE для удаления подключения к адаптеру.

После вызова referenceSwitchNic расширение должно вызвать DereferenceSwitchNic для уменьшения счетчика ссылок расширяемого коммутатора.

Расширение должно вызвать ReferenceSwitchNic перед выполнением следующих операций:

Примечание Расширение не должно вызывать ReferenceSwitchNic при пересылке пакетов по пути данных расширяемого коммутатора. Расширяемый интерфейс коммутатора управляет собственными счетчиками ссылок для пакетов, которые перенаправляются в порты и подключения сетевого адаптера по пути к данным.
 
Расширение вызывает ReferenceSwitchNic после того, как подключение сетевого адаптера достигнет состояния создания подключения к сетевому адаптеру . Расширение не должно вызывать ReferenceSwitchNic после того, как подключение достигло состояния "Сетевой адаптер отключен" или "Сетевой адаптер удален ". Дополнительные сведения об этих состояниях см. в разделе Состояния порта расширяемого коммутатора Hyper-V и состояния сетевого адаптера.
Примечание Когда расширение вызывает ReferenceSwitchNic, ему не нужно синхронизировать вызов со своим кодом, который обрабатывает запросы OID. В результате расширение может вызвать ReferenceSwitchNic , в то время как граница протокола расширяемого коммутатора выдает запрос OID OID_SWITCH_NIC_DISCONNECT. Однако если вызов ReferenceSwitchNic завершается с NDIS_STATUS_SUCCESS, расширение по-прежнему может пересылать OID_SWITCH_NIC_REQUEST запрос OID или NDIS_STATUS_SWITCH_NIC_STATUS указания состояния после обработки запроса OID_SWITCH_NIC_DISCONNECT OID.
 

Требования

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

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

DereferenceSwitchNic

NDIS_STATUS_SWITCH_NIC_STATUS

NdisFGetOptionalSwitchHandlers

OID_SWITCH_NIC_DELETE

OID_SWITCH_NIC_DISCONNECT

OID_SWITCH_NIC_REQUEST