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

추가 정보

PCI_VIRTUALIZATION_INTERFACE