ValidatePlannedSystem method of the Msvm_VirtualSystemManagementService class
Validates the specified planned system. This involves checks of the virtual machine configuration, devices, snapshot configuration, snapshot devices, saved state files and storage files.
Syntax
uint32 ValidatePlannedSystem(
[in] Msvm_PlannedComputerSystem REF PlannedSystem,
[out] CIM_ConcreteJob REF Job
);
Parameters
-
PlannedSystem [in]
-
A reference to an Msvm_PlannedComputerSystem object that represents the planned system to be validated.
-
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)
-
File in Use (32779)
Examples
The following C# sample uses the ValidatePlannedSystem method to validate 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 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);
}
}
}
}
}
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 |
|