metode SWbemObject.Delete_
Metode Delete_ objek SWbemObject menghapus kelas saat ini atau instans saat ini. Jika penyedia dinamis menyediakan kelas atau instans, terkadang tidak mungkin untuk menghapus objek ini kecuali penyedia mendukung penghapusan kelas atau instans. Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.
Sintaks
SWbemObject.Delete_( _
[ ByVal iFlags ], _
[ ByVal objwbemNamedValueSet ] _
)
Parameter
-
iFlags [in, opsional]
-
Dicadangkan dan harus 0 (nol) jika ditentukan.
-
objwbemNamedValueSet [in, opsional]
-
Parameter ini biasanya 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 Delete_ , 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 Delete_ gagal jika instans baru SWbemObject dibuat, tetapi tidak ada nilai yang disediakan untuk properti kunci. Instrumentasi Manajemen Windows (WMI) menghasilkan nilai pengidentifikasi unik global (GUID) secara otomatis, tetapi nilai GUID tidak diterima oleh SWbemObject.Delete_. Dalam hal ini, SWbemServices.Delete, yang menggunakan jalur objek berfungsi. Perhatikan bahwa objek SWbemObjectPath dikembalikan oleh metode SWbemObject.Put_ setelah objek diterapkan ke WMI.
Contoh
Contoh berikut membuat kelas baru; menambahkan properti kunci; menulis kelas baru ke repositori; dan menampilkan jalur objek kelas baru. Skrip kemudian menelurkan instans kelas baru; menulisnya; dan menampilkan jalur. Perhatikan bahwa skrip menghapus kelas dan instansnya dari repositori hanya dengan menghapus kelas .
On Error Resume Next
wbemCimtypeString = 8 ' String datatype
Set objSWbemService = GetObject("Winmgmts:root\default")
Set objClass = objSWbemService.Get()
objClass.Path_.Class = "NewClass"
' Add a property
' String property
objClass.Properties_.add "PropertyName", wbemCimtypeString
' Make the property a key property
objClass.Properties_("PropertyName").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.PropertyName = "My Instance"
' Write the instance into the repository
Set objInstancePath = objNewInst.Put_
wscript.echo objInstancePath.Path
' Remove the new class and instance from the repository
objClass.Delete_()
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_SWbemObject |
IID |
IID_ISWbemObject |