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


функция обратного вызова 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_SWITCH_PORT_PROPERTY_ENUM OID после обработки запроса OID_SWITCH_PORT_TEARDOWN OID.
 

Требования

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

См. также

DereferenceSwitchNic

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN