Share via


Metodo RealizePlannedSystem della classe Msvm_VirtualSystemManagementService

Convalida la configurazione di una macchina virtuale pianificata e la converte in una macchina virtuale realizzata. Qualsiasi file di stato di runtime o salvato associato alla macchina virtuale verrà copiato dalla directory di importazione alla radice dei dati della macchina virtuale, se applicabile.

Sintassi

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

Parametri

PlannedSystem [in]

Riferimento all'istanza di Msvm_PlannedComputerSystem da convertire in una macchina virtuale realizzata.

RisultanteSystem [out]

Se l'operazione viene completata in modo sincrono, un riferimento a un oggetto CIM_ComputerSystem che rappresenta la macchina virtuale risultante.

Tipo di dati aggiornato da Msvm_ComputerSystem in Windows 10 versione 1703.

Processo [out]

Se l'operazione viene eseguita in modo asincrono, questo metodo restituirà 4096 e questo parametro conterrà un riferimento a un oggetto derivato da CIM_ConcreteJob.

Valore restituito

Questo metodo restituisce uno dei valori seguenti.

Completato senza errore (0)

Parametri del metodo controllati - Processo avviato (4096)

Errore (32768)

Accesso negato (32769)

Non supportato (32770)

Lo stato è sconosciuto (32771)

Timeout (32772)

Parametro non valido (32773)

Il sistema è in uso (32774)

Stato non valido per questa operazione (32775)

Tipo di dati non corretto (32776)

Il sistema non è disponibile (32777)

Memoria insufficiente (32778)

Esempio

L'esempio C# seguente usa il metodo RealizePlannedSystem per realizzare una macchina virtuale pianificata. Questo codice viene tratto dall'esempio di macchine virtuali pianificate hyper-V. Le utilità a cui si fa riferimento sono disponibili nelle utilità comuni per gli esempi di virtualizzazione (V2).

Importante

Per funzionare correttamente, il codice seguente deve essere eseguito nel server host della macchina virtuale e deve essere eseguito con privilegi di amministratore.

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

Requisiti

Requisito Valore
Client minimo supportato
Windows 8 [solo app desktop]
Server minimo supportato
Windows Server 2012 [solo app desktop]
Spazio dei nomi
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Vedi anche

Msvm_VirtualSystemManagementService