Поделиться через


Метод ValidatePlannedSystem класса Msvm_VirtualSystemManagementService

Проверяет указанную запланированную систему. Это включает проверку конфигурации виртуальной машины, устройств, snapshot конфигурации, snapshot устройств, сохраненных файлов состояния и файлов хранилища.

Синтаксис

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. Ссылки на служебные программы можно найти в разделе Общие служебные программы для примеров виртуализации (версия 2).

Важно!

Для правильной работы приведенный ниже код должен выполняться на сервере узла виртуальной машины и выполняться с правами администратора.

/// <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