다음을 통해 공유


Msvm_VirtualSystemManagementService 클래스의 ValidatePlannedSystem 메서드

지정된 계획된 시스템의 유효성을 검사합니다. 여기에는 가상 머신 구성, 디바이스, 스냅샷 구성, 스냅샷 디바이스, 저장된 상태 파일 및 스토리지 파일의 검사가 포함됩니다.

구문

uint32 ValidatePlannedSystem(
  [in]  Msvm_PlannedComputerSystem REF PlannedSystem,
  [out] CIM_ConcreteJob            REF Job
);

매개 변수

PlannedSystem [in]

유효성을 검사할 계획된 시스템을 나타내는 Msvm_PlannedComputerSystem 개체에 대한 참조입니다.

작업 [out]

작업이 비동기적으로 수행되면 이 메서드는 4096을 반환하고 이 매개 변수에는 CIM_ConcreteJob 파생된 개체에 대한 참조가 포함됩니다.

반환 값

이 메서드는 다음 값 중 하나를 반환합니다.

오류 없이 완료됨 (0)

메서드 매개 변수 선택됨 - 작업 시작 됨(4096)

실패( 32768)

액세스 거부됨 (32769)

지원되지 않음 (32770)

상태를 알 수 없음 (32771)

시간 제한 (32772)

잘못된 매개 변수 (32773)

시스템이 사용 중( 32774)

이 작업에 대한 잘못된 상태 (32775)

잘못된 데이터 형식 (32776)

시스템을 사용할 수 없음 (32777)

메모리 부족 (32778)

사용 중인 파일 (32779)

예제

다음 C# 샘플에서는 ValidatePlannedSystem 메서드를 사용하여 계획된 가상 머신의 유효성을 검사합니다. 이 코드는 Hyper-V 계획된 가상 머신 샘플에서 가져옵니다. 참조된 유틸리티는 V2(가상화 샘플)에 대한 공통 유틸리티에서 찾을 수 있습니다.

중요

제대로 작동하려면 다음 코드를 가상 머신 호스트 서버에서 실행해야 하며 관리자 권한으로 실행해야 합니다.

/// <summary>
/// Finds the first Planned VM matching pvmName and validates it, displaying
/// any warnings produced.
/// </summary>
/// <param name="pvmName">The name of the PVM to be validated.</param>
internal static void
ValidatePvm(
    string pvmName
    )
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\v2");

    using (ManagementObject pvm = WmiUtilities.GetPlannedVirtualMachine(pvmName, scope))
    using (ManagementObject managementService = WmiUtilities.GetVirtualMachineManagementService(scope))
    using (ManagementBaseObject inParams = 
        managementService.GetMethodParameters("ValidatePlannedSystem"))
    {
        inParams["PlannedSystem"] = pvm.Path;

        Console.WriteLine("Validating Planned Virtual Machine \"{0}\" ({1})...",
                pvm["ElementName"], pvm["Name"]);

        using (ManagementBaseObject outParams = 
            managementService.InvokeMethod("ValidatePlannedSystem", inParams, null))
        {
            if (WmiUtilities.ValidateOutput(outParams, scope))
            {
                using (ManagementObject job = 
                    new ManagementObject((string)outParams["Job"]))
                {
                    WmiUtilities.PrintMsvmErrors(job);
                }
            }
        }
    }
}

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2012 [데스크톱 앱만 해당]
네임스페이스
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

추가 정보

Msvm_VirtualSystemManagementService