Metode DestroySystem dari kelas Msvm_VirtualSystemManagementService

Menghapus komputer virtual yang ditentukan sebelumnya dari cakupan manajemen sistem host. Setiap definisi sumber daya terkait juga akan dihapus. Komputer virtual harus dalam keadaan mati atau disimpan sebelum memanggil metode ini.

Sintaks

uint32 DestroySystem(
  [in]  CIM_ComputerSystem REF AffectedSystem,
  [out] CIM_ConcreteJob    REF Job
);

Parameter

AffectedSystem [in]

Jenis: CIM_ComputerSystem

Referensi ke instans CIM_ComputerSystem yang mewakili instans komputer virtual yang akan dihancurkan.

Job [out]

Jenis: CIM_ConcreteJob

Jika operasi dilakukan secara asinkron, metode ini akan mengembalikan 4096, dan parameter ini akan berisi referensi ke objek yang berasal dari CIM_ConcreteJob.

Menampilkan nilai

Jenis: uint32

Jika metode ini dijalankan secara sinkron, metode ini mengembalikan 0 jika berhasil. Jika metode ini dijalankan secara asinkron, metode ini mengembalikan 4096 dan parameter output Pekerjaan dapat digunakan untuk melacak kemajuan operasi asinkron. Nilai pengembalian lainnya menunjukkan kesalahan.

Selesai tanpa Kesalahan (0)

Tidak Didukung (1)

Gagal (2)

Waktu habis (3)

Parameter Tidak Valid (4)

Status Tidak Valid (5)

DMTF Dicadangkan (..)

Parameter Metode Diperiksa - Pekerjaan Dimulai (4096)

Metode Reserved (4097..32767)

Spesifikasi Vendor (32768..65535)

Keterangan

Akses ke kelas Msvm_VirtualSystemManagementService mungkin dibatasi oleh Pemfilteran UAC. Untuk informasi selengkapnya, lihat Kontrol Akun Pengguna dan WMI.

Contoh

Sampel C# berikut menggunakan metode DestroySystem untuk menghapus komputer virtual yang direncanakan. Kode ini diambil dari sampel komputer virtual yang direncanakan Hyper-V. Utilitas yang dirujuk dapat ditemukan di Utilitas umum untuk sampel virtualisasi (V2).

Penting

Agar berfungsi dengan benar, kode berikut harus dijalankan di server host komputer virtual, dan harus dijalankan dengan hak istimewa Administrator.

/// <summary>
/// Finds the first Planned VM matching pvmName and removes it.
/// </summary>
/// <param name="pvmName">The name of the PVM to be removed.</param>
internal static void
RemovePvm(
    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("DestroySystem"))
    {
        inParams["AffectedSystem"] = pvm.Path;

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

        using (ManagementBaseObject outParams =
            managementService.InvokeMethod("DestroySystem", inParams, null))
        {
            WmiUtilities.ValidateOutput(outParams, scope);
        }
    }
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 8 [khusus aplikasi desktop]
Server minimum yang didukung
Windows Server 2012 [hanya aplikasi desktop]
Ruang nama
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Lihat juga

Msvm_VirtualSystemManagementService