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

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

Синтаксис

NDIS_SWITCH_REFERENCE_SWITCH_PORT NdisSwitchReferenceSwitchPort;

NDIS_STATUS NdisSwitchReferenceSwitchPort(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId
)
{...}

Параметры

[in] NdisSwitchContext

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

[in] SwitchPortId

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

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

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

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

Комментарии

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

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

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

Расширение должно вызывать ReferenceSwitchPort при выполнении любой операции, требующей, чтобы порт был в активном состоянии. Например, расширение должно вызвать ReferenceSwitchPort , прежде чем будет выполнять запрос метода OID OID_SWITCH_PORT_PROPERTY_ENUM.

Расширение вызывает ReferenceSwitchPort после того, как порт достигнет состояния создания порта . Расширение не должно вызывать ReferenceSwitchNic после того, как порт достигнет состояния сноса порта . Дополнительные сведения об этих состояниях см. в разделе Состояния порта расширяемого коммутатора Hyper-V и состояния сетевого адаптера.

Примечание Когда расширение вызывает ReferenceSwitchPort, ему не нужно синхронизировать вызов со своим кодом, который обрабатывает запросы OID. В результате расширение может вызывать ReferenceSwitchPort , в то время как граница протокола расширяемого коммутатора выдает запрос OID OID_SWITCH_PORT_TEARDOWN. Однако если вызов ReferenceSwitchPort завершается с NDIS_STATUS_SUCCESS, расширение по-прежнему может выдать запрос OID OID_SWITCH_PORT_PROPERTY_ENUM после обработки запроса OID OID_SWITCH_PORT_TEARDOWN.
 

Требования

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

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

DereferenceSwitchNic

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN