SetVirtualFunctionData 루틴은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 디바이스에서 VF(가상 함수)의 PCI Express(PCIe) 구성 공간에 데이터를 씁니다.
통사론
SET_VIRTUAL_DEVICE_DATA SetVirtualDeviceData;
ULONG SetVirtualDeviceData(
[in, out] PVOID Context,
[in] USHORT VirtualFunction,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
)
{...}
매개 변수
[in, out] Context
인터페이스별 컨텍스트 정보에 대한 포인터입니다. 호출자는 인터페이스에 대한 PCI_VIRTUALIZATION_INTERFACE 구조체의 Context 멤버로 전달되는 값을 전달합니다.
[in] VirtualFunction
데이터를 쓸 디바이스의 VF를 지정하는 0부터 시작하는 값입니다.
[in] Buffer
VF의 PCIe 구성 공간에 쓸 구성 정보를 포함하는 버퍼에 대한 포인터입니다.
[in] Offset
VF의 PCIe 구성 공간 데이터에 대한 오프셋입니다. 이 멤버는 이 쓰기 작업이 시작되는 위치를 지정합니다.
[in] Length
쓸 데이터의 길이(바이트)입니다.
반환 값
*SetVirtualFunctionData 루틴은 성공적인 쓰기 작업 후에 작성된 PCIe 구성 데이터의 길이(바이트)를 반환합니다. 쓰기 작업이 실패하면 루틴은 0을 반환합니다.
발언
*SetVirtualFunctionData 루틴은 디바이스의 PF(물리적 함수) 대신 VF에 PCIe 구성 데이터를 쓴다는 점을 제외하고 SetBusData 루틴과 유사합니다.
*SetVirtualFunctionData 루틴은 GUID_PCI_VIRTUALIZATION_INTERFACE 인터페이스에서 제공됩니다. SetBusData 루틴은 GUID_BUS_INTERFACE_STANDARD 인터페이스에서 제공됩니다.
게스트 운영 체제에서 실행되는 드라이버가 SetBusData 루틴을 호출할 때 가상화 스택은 *SetVirtualFunctionData 호출합니다.
요구 사항
| 요구 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows Server 2012 이상 버전의 Windows에서 지원됩니다. |
| 대상 플랫폼 | 바탕 화면 |
| 헤더 | wdm.h(Wdm.h 포함) |
| IRQL | IRQL <= APC_LEVEL |