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

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

[in] SwitchPortId

가상 네트워크 어댑터가 연결된 확장 가능한 스위치 포트의 고유 식별자를 포함하는 NDIS_SWITCH_PORT_ID 값입니다.

[in] SwitchNicIndex

확장 가능한 스위치 참조 카운터를 증분할 가상 네트워크 어댑터의 인덱스를 지정하는 NDIS_SWITCH_NIC_INDEX 값입니다.

NDIS_SWITCH_NIC_INDEX 값에 대한 자세한 내용은 네트워크 어댑터 인덱스 값을 참조하세요.

참고 이 매개 변수는 연결된 상태에 있는 네트워크 어댑터의 인덱스 값을 지정해야 합니다. 생성되거나 연결이 끊긴 상태인 네트워크 어댑터의 인덱스 값을 지정할 수 없습니다. 네트워크 연결 상태에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태를 참조하세요.
 

반환 값

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

설명

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

확장에서 ReferenceSwitchNic를 호출한 후 DereferenceSwitchNic 를 호출하여 확장 가능한 스위치 참조 카운터를 감소시켜야 합니다.

확장은 다음 작업을 수행하기 전에 ReferenceSwitchNic 를 호출해야 합니다.

참고 확장은 확장 가능한 스위치 데이터 경로를 통해 패킷을 전달할 때 ReferenceSwitchNic 를 호출해서는 안 됩니다. 확장 가능한 스위치 인터페이스는 데이터 경로를 통해 포트 및 네트워크 어댑터 연결로 전달되는 패킷에 대한 자체 참조 카운터를 관리합니다.
 
확장은 네트워크 어댑터 연결이 네트워크 어댑터 연결 생성 상태에 도달한 후 ReferenceSwitchNic를 호출합니다. 연결이 네트워크 어댑터 연결이 끊어지거나 네트워크 어댑터가 삭제된 상태에 도달한 후에는 확장이 ReferenceSwitchNic를 호출하지 않아야 합니다. 이러한 상태에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태를 참조하세요.
참고 확장이 ReferenceSwitchNic를 호출하는 경우 OID 요청을 처리하는 코드와 호출을 동기화할 필요가 없습니다. 따라서 확장 가능한 스위치의 프로토콜 에지가 OID_SWITCH_NIC_DISCONNECT OID 요청을 발급하는 동안 확장에서 ReferenceSwitchNic를 호출할 수 있습니다. 그러나 ReferenceSwitchNic에 대한 호출이 NDIS_STATUS_SUCCESS 완료된 경우에도 확장은 OID_SWITCH_NIC_DISCONNECT OID 요청을 처리한 후에도 OID_SWITCH_NIC_REQUEST OID 요청을 전달하거나 상태 표시를 NDIS_STATUS_SWITCH_NIC_STATUS 수 있습니다.
 

요구 사항

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