Metode SWbemServices.Delete
Metode Hapus objek SWbemServices menghapus kelas atau instans yang ditentukan di jalur objek. Anda hanya dapat menghapus objek di namespace saat ini.
Jika penyedia dinamis menyediakan kelas atau instans, Anda tidak dapat menghapus objek ini kecuali penyedia mendukung penghapusan kelas atau instans.
Metode ini dipanggil dalam mode sinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.
Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.
Sintaks
SWbemServices.Delete( _
ByVal strObjectPath, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
Parameter
-
strObjectPath
-
Wajib diisi. String yang berisi jalur objek ke objek yang ingin Anda hapus. Untuk informasi selengkapnya, lihat Menjelaskan Lokasi Objek WMI.
-
iFlags [opsional]
-
Dicadangkan. Nilai ini harus berupa nol.
-
objWbemNamedValueSet [opsional]
-
Biasanya, ini tidak ditentukan. Jika tidak, ini adalah objek SWbemNamedValueSet yang elemennya mewakili informasi konteks yang dapat digunakan oleh penyedia yang melayani permintaan. Penyedia yang mendukung atau memerlukan informasi tersebut harus men dokumentasikan nama nilai yang dikenali, jenis data nilai, nilai yang diizinkan, dan semantik.
Menampilkan nilai
Metode ini tidak mengembalikan nilai.
Kode kesalahan
Setelah menyelesaikan metode Hapus , objek Err mungkin berisi salah satu kode kesalahan dalam daftar berikut.
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
Konteks saat ini tidak memiliki hak keamanan yang memadai untuk menghapus objek.
-
wbemErrFailed - 2147749889 (0x80041001)
-
Kesalahan yang tidak ditentukan.
-
wbemErrInvalidClass - 2147749904 (0x80041010)
-
Kelas yang ditentukan tidak ada.
-
wbemErrInvalidOperation - 2147749910 (0x80041016)
-
Objek tidak dapat dihapus.
-
wbemErrNotFound - 2147749890 (0x80041002)
-
Objek tidak ada.
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
Memori tidak cukup untuk menyelesaikan operasi.
Keterangan
Metode SWbemServices.Delete dapat digunakan ketika properti kunci untuk objek tidak diberi nilai, karena metode ini hanya memerlukan jalur objek sebagai input. Metode ini dapat digunakan dalam situasi di mana SWbemObject.Delete_ gagal karena kurangnya nilai kunci. Jika objek diterapkan ke WMI melalui SWbemObject.Put_, maka objek SWbemObjectPath diperoleh melalui panggilan.
Contoh
Contoh berikut membuat kelas baru, menambahkan properti yang bukan kunci, menulis kelas baru ke repositori, dan menampilkan jalur objek kelas baru. Skrip kemudian menghasilkan instans kelas baru, menulis instans, dan menampilkan jalur. Perhatikan bahwa skrip menghapus kelas dan instansnya dari repositori dengan menghapus kelas . Untuk informasi selengkapnya tentang kelas dan instans WMI, lihat Memanipulasi Kelas dan Informasi Instans dan Model Informasi Umum.
wbemCimtypeSint32 = 3
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"
' Add a property
' Integer property
objClass.Properties_.Add "iProperty", wbemCimtypeSint32
objClass.Properties_("iProperty").Qualifiers_.Add "key", TRUE
' Write the new class to the root\default namespace in the repository
Set objClassPath = objClass.Put_
wscript.echo objClassPath.Path
'Create an instance of the new class using SWbemObject.SpawnInstance
Set objNewInst = GetObject( _
"Winmgmts:root\default:NewClass").SpawnInstance_
objNewInst.iProperty = 1000
' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
wscript.echo objInstancePath.Path
' Remove the new class and instance from the repository
objSWbemService.Delete("NewClass")
If Err <> 0 Then
WScript.Echo Err.Number & " " & Err.Description
Else
WScript.Echo "Delete succeeded"
End If
' Release SwbemServices object
Set objSWbemService = Nothing
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |
Header |
|
Pustaka jenis |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |