GET_VIRTUAL_FUNCTION_PROBED_BARS 콜백 함수(wdm.h)

GetVirtualFunctionProbedBars 루틴은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 디바이스의 PCI Express(PCIe) 기준 주소 레지스터(BAR) 값을 반환합니다.

GetVirtualFunctionProbedBars 는 PCI 버스 드라이버에서 수행한 쿼리 후 디바이스에서 보고한 BAR 값을 반환합니다. 이 쿼리는 디바이스에 필요한 메모리 또는 I/O 주소 공간을 결정합니다.

구문

GET_VIRTUAL_FUNCTION_PROBED_BARS GetVirtualFunctionProbedBars;

NTSTATUS GetVirtualFunctionProbedBars(
  [in, out] PVOID Context,
  [out]     PULONG BaseRegisterValues
)
{...}

매개 변수

[in, out] Context

인터페이스별 컨텍스트 정보에 대한 포인터입니다. 호출자는 인터페이스에 대한 PCI_VIRTUALIZATION_INTERFACE 구조체의 컨텍스트 멤버로 전달되는 값을 전달합니다.

[out] BaseRegisterValues

ULONG 값 배열에 대한 포인터입니다. GetVirtualFunctionProbedBars 루틴은 디바이스의 각 BAR에 대한 값을 반환합니다.

GetVirtualFunctionProbedBars는 이 배열 내에서 최대 PCI_TYPE0_ADDRESSES 값을 반환합니다.

반환 값

GetVirtualFunctionProbedBars 루틴은 다음 NTSTATUS 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS 작업이 성공적으로 완료되었습니다.
STATUS_INVALID_DEVICE_STATE 디바이스는 SR-IOV 인터페이스를 지원하지 않습니다.

설명

PCI 버스 드라이버입니다. Hyper-V 부모 파티션의 관리 운영 체제에서 실행되는 는 디바이스의 각 BAR에 대한 메모리 또는 I/O 주소 공간 요구 사항을 쿼리합니다. PCI 버스 드라이버는 버스에서 어댑터를 처음 검색할 때 이 쿼리를 수행합니다.

이 BAR 쿼리를 통해 PCI 버스 드라이버는 다음을 결정합니다.

  • 디바이스에서 BAR를 지원하는지 여부입니다.

  • BAR가 지원되는 경우 BAR에 필요한 메모리 또는 I/O 주소 공간의 양입니다.

PCI 드라이버는 다음과 같이 이 BAR 쿼리를 수행합니다.

  1. PCI 버스 드라이버는 BAR에 0xFFFFFFFF 씁니다.

  2. PCI 버스 드라이버는 BAR를 읽고 디바이스에 필요한 메모리 또는 주소 공간을 확인합니다. 값이 0이면 디바이스가 BAR를 지원하지 않음을 나타냅니다.

GetVirtualFunctionProbedBars 루틴은 GUID_PCI_VIRTUALIZATION_INTERFACE 인터페이스에서 제공됩니다.

다음 참고 사항은 GetVirtualFunctionProbedBars 루틴에 적용됩니다 .

  • SR-IOV 인터페이스는 PCIe VF의 BAR이 BAR의 메모리 블록 또는 I/O 주소 공간 크기를 결정하기 위한 프로토콜을 준수할 필요가 없습니다. 따라서 게스트 운영 체제에서 실행되는 VPCI(가상 PCI) 드라이버는 물리적 디바이스의 BAR과 동일한 크기를 사용하여 크기를 결정합니다. VPCI 드라이버는 GetVirtualFunctionProbedBars 루틴을 호출하여 이 정보를 가져옵니다.

  • VPCI 드라이버에는 물리적 디바이스가 시작된 후 각 BAR에 대한 메모리 또는 I/O 주소 공간의 크기가 필요합니다. 이 시점에서 PCI 드라이버는 BAR의 현재 값을 변경하지 않고 디바이스에서 BAR 쿼리를 수행할 수 없습니다. 따라서 VPCI 드라이버에서 GetVirtualFunctionProbedBars 루틴을 호출하면 PCI 드라이버는 BAR 쿼리 중에 얻은 BAR 정보를 반환합니다. PCI 드라이버는 버스에서 디바이스가 처음 검색되었을 때 이 쿼리를 수행했습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Server 2012 이상 버전의 Windows에서 지원됩니다.
대상 플랫폼 데스크톱
머리글 wdm.h(Wdm.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

PCI_VIRTUALIZATION_INTERFACE