Share via


네트워크 어댑터에서 가상 포트 열거

지나치게 많은 드라이버 또는 사용자 애플리케이션은 SR-IOV(단일 루트 I/O 가상화)를 지원하는 네트워크 어댑터의 NIC 스위치에서 모든 VPort(가상 포트) 목록을 가져올 수 있습니다. 드라이버 또는 애플리케이션이 이 목록을 가져오기 위해 OID_NIC_SWITCH_ENUM_VPORTS OID(개체 식별자) 메서드 요청을 발급합니다.

이 OID 쿼리 요청에서 성공적으로 반환된 후 NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 다음이 포함된 버퍼에 대한 포인터가 포함됩니다.

지나치게 많은 드라이버 또는 사용자 애플리케이션이 OID_NIC_SWITCH_ENUM_VPORTS 요청을 발급하기 전에 요청과 함께 전달되는 NDIS_NIC_SWITCH_VPORT_INFO_ARRAY 구조를 초기화해야 합니다. 드라이버 또는 애플리케이션은 NDIS_NIC_SWITCH_VPORT_INFO_ARRAY 구조를 초기화할 때 다음 지침을 따라야 합니다.

  • flags 멤버에서 NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH 플래그를 설정하면 지정된 NIC 스위치에서 만든 모든 VPort에 대한 정보가 반환됩니다. NIC 스위치는 해당 구조체의 SwitchId 멤버에 의해 지정됩니다.

    참고 Windows Server 2012 SR-IOV 인터페이스는 네트워크 어댑터에서 하나의 NIC 스위치만 지원합니다. 이 스위치를 기본 NIC 스위치라고 하며 NDIS_DEFAULT_SWITCH_ID 식별자가 참조합니다. Flags 멤버에 설정된 플래그에 관계없이 SwitchId 멤버를 NDIS_DEFAULT_SWITCH_ID 설정해야 합니다.

  • NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION 플래그가 Flags 멤버에 설정된 경우 네트워크 어댑터의 지정된 PCI Express(PCIe) PF(물리적 함수) 또는 VF(가상 함수)에 연결된 모든 VPort에 대한 정보가 반환됩니다. PF 또는 VF는 해당 구조체의 AttachedFunctionId 멤버에 의해 지정됩니다.

    AttachedFunctionId 멤버가 NDIS_PF_FUNCTION_ID 설정되면 모든 VPort에 대한 정보가 반환됩니다. 여기에는 PF에 연결된 기본 VPort가 포함됩니다. AttachedFunctionId 멤버가 유효한 VF 식별자로 설정된 경우 지정된 VF에 연결된 모든 VPort에 대한 정보가 반환됩니다.

    참고 Windows Server 2012 시작하여 기본이 아닌 VPort 하나만 VF에 연결할 수 있습니다. 그러나 여러 VPort(기본 VPort 포함)를 PF에 연결할 수 있습니다.

  • Flags 멤버가 0으로 설정된 경우 네트워크 어댑터의 PF 또는 VF에 연결된 모든 VPort에 대한 정보가 반환됩니다. 이 경우 SwitchIdAttachedFunctionId 의 값은 무시됩니다.

NDIS는 미니포트 드라이버에 대한 OID_NIC_SWITCH_ENUM_VPORTS 요청을 처리합니다. NDIS는 다음 원본을 검사하여 유지 관리하는 데이터의 내부 캐시에서 정보를 반환합니다.