RealizePlannedSystem method of the Msvm_VirtualSystemManagementService class
Validates the configuration of a planned virtual machine and converts it to a realized virtual machine. Any runtime or saved state files associated with the virtual machine will be copied from the import directory to the virtual machine's data root, if applicable.
Syntax
uint32 RealizePlannedSystem(
[in] Msvm_PlannedComputerSystem REF PlannedSystem,
[out] CIM_ComputerSystem REF ResultingSystem,
[out] CIM_ConcreteJob REF Job
);
Parameters
-
PlannedSystem [in]
-
A reference to the Msvm_PlannedComputerSystem instance which is to be converted into a realized virtual machine.
-
ResultingSystem [out]
-
If the operation is completed synchronously, a reference to a CIM_ComputerSystem object that represents the resulting realized virtual machine.
Datatype updated from Msvm_ComputerSystem in Windows 10, version 1703.
-
Job [out]
-
If the operation is performed asynchronously, this method will return 4096, and this parameter will contain a reference to an object derived from CIM_ConcreteJob.
Return value
This method returns one of the following values.
-
Completed with No Error (0)
-
Method Parameters Checked - Job Started (4096)
-
Failed (32768)
-
Access Denied (32769)
-
Not Supported (32770)
-
Status is unknown (32771)
-
Timeout (32772)
-
Invalid parameter (32773)
-
System is in use (32774)
-
Invalid state for this operation (32775)
-
Incorrect data type (32776)
-
System is not available (32777)
-
Out of memory (32778)
Examples
The following C# sample uses the RealizePlannedSystem method to realize a planned virtual machine. This code is taken from the Hyper-V planned virtual machines sample. The referenced utilities can be found in Common utilities for the virtualization samples (V2).
Important
To function correctly, the following code must be run on the virtual machine host server, and must be run with Administrator privileges.
/// <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;
}
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows 8 [desktop apps only] |
Minimum supported server |
Windows Server 2012 [desktop apps only] |
Namespace |
Root\Virtualization\V2 |
MOF |
|
DLL |
|