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


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

Проверяет конфигурацию запланированной виртуальной машины и преобразует ее в реализованную виртуальную машину. Все файлы состояния среды выполнения или сохраненные файлы состояния, связанные с виртуальной машиной, будут скопированы из каталога импорта в корневой каталог данных виртуальной машины, если это применимо.

Синтаксис

uint32 RealizePlannedSystem(
  [in]  Msvm_PlannedComputerSystem REF PlannedSystem,
  [out] CIM_ComputerSystem         REF ResultingSystem,
  [out] CIM_ConcreteJob            REF Job
);

Параметры

PlannedSystem [in]

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

ResultingSystem [out]

Если операция выполняется синхронно, ссылка на объект CIM_ComputerSystem , представляющий полученную виртуальную машину.

Тип данных обновлен с Msvm_ComputerSystem в Windows 10 версии 1703.

Задание [out]

Если операция выполняется асинхронно, этот метод возвращает значение 4096, а этот параметр будет содержать ссылку на объект, производный от CIM_ConcreteJob.

Возвращаемое значение

Этот метод возвращает одно из следующих значений.

Выполнено без ошибок (0)

Проверенные параметры метода — задание запущено (4096)

Сбой (32768)

Доступ запрещен (32769)

Не поддерживается (32770)

Состояние неизвестно (32771)

Время ожидания (32772)

Недопустимый параметр (32773)

Система используется (32774)

Недопустимое состояние для этой операции (32775)

Неправильный тип данных (32776)

Система недоступна (32777)

Нехватка памяти (32778)

Примеры

В следующем примере C# используется метод RealizePlannedSystem для реализации запланированной виртуальной машины. Этот код взят из примера запланированных виртуальных машин Hyper-V. Ссылки на служебные программы можно найти в разделе Общие служебные программы для примеров виртуализации (версия 2).

Важно!

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

/// <summary>
/// Finds the first Planned VM matching pvmName and realizes it.
/// </summary>
/// <param name="pvmName">The name of the PVM to be realized.</param>
/// <returns>The Realized Virtual Machine.</returns>
internal static ManagementObject
RealizePvm(
    string pvmName
    )
{
    ManagementObject vm = null;
    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("RealizePlannedSystem"))
    {
        inParams["PlannedSystem"] = pvm.Path;

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

        using (ManagementBaseObject outParams =
            managementService.InvokeMethod("RealizePlannedSystem", inParams, null))
        {
            if (WmiUtilities.ValidateOutput(outParams, scope, true, true))
            {
                using (ManagementObject job =
                    new ManagementObject((string)outParams["Job"]))
                using (ManagementObjectCollection pvmCollection =
                    job.GetRelated("Msvm_ComputerSystem",
                        "Msvm_AffectedJobElement", null, null, null, null, false, null))
                {
                    vm = WmiUtilities.GetFirstObjectFromCollection(pvmCollection);
                }
            }
        }
    }

    return vm;
}

Требования

Требование Значение
Минимальная версия клиента
Windows 8 [только классические приложения]
Минимальная версия сервера
Windows Server 2012 [только классические приложения]
Пространство имен
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

См. также раздел

Msvm_VirtualSystemManagementService