ENABLE_VIRTUALIZATION 콜백 함수(wdm.h)
EnableVirtualization 루틴은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 PCI Express(PCIe) 디바이스에 대한 가상화를 사용하거나 사용하지 않도록 설정합니다.
구문
ENABLE_VIRTUALIZATION EnableVirtualization;
NTSTATUS EnableVirtualization(
[in, out] PVOID Context,
[in] UINT16 NumVFs,
[in] BOOLEAN EnableVfMigration,
[in] BOOLEAN EnableMigrationInterrupt,
[in] BOOLEAN EnableVirtualization
)
{...}
매개 변수
[in, out] Context
인터페이스별 컨텍스트 정보에 대한 포인터입니다. 호출자는 인터페이스에 대한 PCI_VIRTUALIZATION_INTERFACE 구조체의 Context 멤버로 전달되는 값을 전달합니다.
[in] NumVFs
디바이스에 사용하도록 설정할 PCIe VF(가상 함수) 수입니다. EnableVirtualization 루틴은 PCIe SR-IOV 확장 기능 구조의 NumVFs 멤버를 NumVFs 매개 변수 값으로 설정합니다.
EnableVirtualization 매개 변수가 FALSE이면 NumVFs 매개 변수를 0으로 설정해야 합니다.
[in] EnableVfMigration
BF(다중 루트 I/O 가상화) BF(기본 함수)가 런타임에 디바이스의 PF(PCIe 물리적 함수)를 VF로 동적으로 다시 프로비전할 수 있는지 여부를 나타내는 BOOLEAN 값입니다.
이 매개 변수는 SR-IOV 및 MR-IOV 인터페이스를 모두 지원하는 디바이스에만 적용됩니다. 디바이스가 MR-IOV 인터페이스가 아닌 SR-IOV 인터페이스만 지원하는 경우 드라이버는 이 매개 변수를 FALSE 로 설정해야 합니다.
[in] EnableMigrationInterrupt
VF 마이그레이션 중에 PF와 연결된 인터럽트 마스킹 또는 마스크 해제 여부를 나타내는 BOOLEAN 값입니다.
EnableVfMigration 매개 변수가 FALSE이면 드라이버도 이 매개 변수를 FALSE로 설정해야 합니다.
[in] EnableVirtualization
디바이스의 PCIe 구성 공간에서 가상화를 사용할 수 있는지 여부를 나타내는 BOOLEAN 값입니다. EnableVirtualization 매개 변수가 TRUE이면 EnableVirtualization 루틴은 PCIe SR-IOV 컨트롤 필드의 VF 사용 비트를 설정합니다. EnableVirtualization 매개 변수가 FALSE인 경우 EnableVirtualization 루틴은 이 비트를 지웁니다.
반환 값
EnableVirtualization 루틴은 다음 NTSTATUS 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_SUCCESS | 작업이 성공적으로 완료되었습니다. |
STATUS_INVALID_PARAMETER | NumVFs 매개 변수는 0이거나 디바이스에 대한 SR-IOV 확장 기능 구조의 TotalVFs 멤버 값보다 큽니다. |
STATUS_INVALID_DEVICE_STATE | 디바이스에서 가상화가 이미 활성화되어 있고 EnableVirtualization 매개 변수가 TRUE이거나 디바이스에서 가상화가 이미 비활성화되어 있고 EnableVirtualization 매개 변수가 FALSE입니다. |
설명
드라이버는 EnableVirtualization 루틴을 호출하여 PCIe 구성 공간에서 SR-IOV 확장 기능 필드를 구성합니다. 이 호출은 구성 공간에서 가상화를 사용하거나 사용하지 않도록 설정하고 디바이스에서 PCIe 패브릭에 노출해야 하는 VF 수를 지정합니다.
EnableVirtualization 루틴은 GUID_PCI_VIRTUALIZATION_INTERFACE 인터페이스에서 제공됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2012 이상 버전의 Windows에서 지원됩니다. |
대상 플랫폼 | 데스크톱 |
머리글 | wdm.h(Wdm.h 포함) |
IRQL | IRQL <= DISPATCH_LEVEL |