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


функция обратного вызова 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 (include Ndis.h)
IRQL <= DISPATCH_LEVEL

См. также

DereferenceSwitchNic

NDIS_STATUS_SWITCH_NIC_STATUS

NdisFGetOptionalSwitchHandlers

OID_SWITCH_NIC_DELETE

OID_SWITCH_NIC_DISCONNECT

OID_SWITCH_NIC_REQUEST