다음을 통해 공유


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

Hyper-V 확장 가능한 스위치 확장이 연결된 확장 가능한 스위치 모듈의 핸들을 포함하는 NDIS_SWITCH_CONTEXT 값입니다. 확장에서 NdisFGetOptionalSwitchHandlers호출하면 이 핸들은 NdisSwitchContext 매개 변수를 통해 반환됩니다.

[in] SwitchPortId

확장 가능한 스위치 참조 카운터가 증가되는 확장 가능한 스위치 포트의 고유 식별자를 포함하는 NDIS_SWITCH_PORT_ID 값입니다.

참고SwitchPortId 매개 변수는 생성된 상태에 있는 포트의 식별자를 지정해야 합니다. 중단 또는 삭제된 상태에 있는 포트의 식별자를 지정할 수 없습니다. 포트 상태에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태참조하세요.
 

반환 값

호출이 성공하면 함수는 NDIS_STATUS_SUCCESS 반환합니다. 그렇지 않으면 Ndis.h에 정의된 NDIS_STATUS_Xxx 오류 코드를 반환합니다.

발언

확장 가능한 스위치 확장은 ReferenceSwitchPort 호출하여 확장 가능한 스위치 포트에 대한 참조 카운터를 증가합니다. 참조 카운터에는 0이 아닌 값이 있지만 확장 가능한 스위치의 프로토콜 가장자리는 확장 가능한 스위치 포트를 삭제하기 위해 OID_SWITCH_PORT_DELETE OID(개체 식별자) 집합 요청을 실행하지 않습니다.

확장이 referenceSwitchPort 호출한 후 DereferenceSwitchPort 호출하여 참조 카운터를 감소시켜야 합니다.

확장은 포트가 만든 포트에 도달한 후 ReferenceSwitchPort 호출합니다. 연결이 포트에 도달하면 ReferenceSwitchPort 호출하지 않아야 하며 또는 포트가 상태가 만들어지지 않습니다. 이러한 상태에 대한 자세한 내용은 확장 가능한 스위치 포트 및 네트워크 어댑터 상태 Hyper-V 참조하세요.

확장은 포트가 활성 상태여야 하는 작업을 수행할 때 ReferenceSwitchPort 호출해야 합니다. 예를 들어 확장은 OID_SWITCH_PORT_PROPERTY_ENUMOID 메서드 요청을 실행하기 전에 ReferenceSwitchPort 호출해야 합니다.

확장은 포트가 만든 포트에 도달한 후 ReferenceSwitchPort 호출합니다. 확장은 포트가 상태를 분해하는 포트에 도달한 후 ReferenceSwitchNic 호출해서는 안 됩니다. 이러한 상태에 대한 자세한 내용은 확장 가능한 스위치 포트 및 네트워크 어댑터 상태 Hyper-V 참조하세요.

참고 확장이 ReferenceSwitchPort 호출하는 경우 OID 요청을 처리하는 코드와 호출을 동기화할 필요가 없습니다. 따라서 확장 가능한 스위치의 프로토콜 에지가 OID_SWITCH_PORT_TEARDOWNOID 요청을 발급하는 동안 확장에서 ReferenceSwitchPort 호출할 수 있습니다. 그러나 ReferenceSwitchPort 호출이 NDIS_STATUS_SUCCESS 완료되면 OID_SWITCH_PORT_TEARDOWN OID 요청을 처리한 후에도 확장에서 OID_SWITCH_PORT_PROPERTY_ENUM OID 요청을 실행할 수 있습니다.
 

요구 사항

요구
지원되는 최소 클라이언트 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