metode SWbemObject.Put_
Metode Put_SWbemObject membuat atau memperbarui instans atau objek kelas ke Windows Management Instrumentation (WMI). Anda dapat menggunakan metode ini setelah memodifikasi properti atau metode apa pun dalam SWbemObject, dan perubahan Anda ditulis ke WMI.
Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.
Sintaks
objObjectPath = .Put_( _
[ ByVal iFlags ], _
[ ByVal objwbemNamedValueSet ] _
)
Parameter
-
iFlags [in, opsional]
-
Parameter ini menentukan apakah panggilan membuat atau memperbarui kelas atau instans dan jika panggilan segera kembali. Parameter ini dapat menerima nilai berikut.
-
wbemChangeFlagUpdateCompatible (0 (0x0))
-
Memungkinkan kelas diperbarui jika tidak ada kelas turunan dan tidak ada instans untuk kelas tersebut. Ini juga memungkinkan pembaruan dalam semua kasus jika perubahan hanya untuk kualifikasi yang tidak penting (misalnya, kualifikasi Deskripsi ). Ini adalah perilaku default untuk panggilan ini dan digunakan untuk kompatibilitas dengan versi WMI sebelumnya. Jika kelas memiliki instans pembaruan gagal.
-
wbemChangeFlagUpdateSafeMode (32 (0x20))
-
Memungkinkan pembaruan kelas bahkan jika ada kelas anak jika perubahan tidak menyebabkan konflik dengan kelas anak. Anda dapat menggunakan bendera ini saat menambahkan properti baru ke kelas dasar yang sebelumnya tidak disebutkan di salah satu kelas anak. Jika kelas memiliki instans pembaruan gagal. Jika kelas memiliki instans pembaruan gagal.
-
WbemChangeFlagUpdateForceMode (64 (0x40))
-
Bendera ini memaksa pembaruan kelas saat ada kelas anak yang bertentangan. Misalnya, bendera ini akan memaksa pembaruan jika kualifikasi kelas didefinisikan dalam kelas anak, dan kelas dasar mencoba menambahkan kualifikasi yang sama dan bertentangan dengan yang sudah ada. Dalam mode paksa konflik ini akan diselesaikan dengan menghapus kualifikasi yang bertentangan di kelas anak. Jika kelas memiliki instans, pembaruan akan gagal.
Menggunakan mode paksa untuk memperbarui kelas statis menghasilkan penghapusan semua instans kelas tersebut. Pembaruan paksa pada kelas penyedia tidak menghapus instans kelas.
-
wbemChangeFlagCreateOrUpdate (0 (0x0))
-
Menyebabkan kelas atau instans dibuat jika belum ada atau ditimpa jika sudah ada.
-
wbemChangeFlagCreateOnly (2 (0x2))
-
Digunakan hanya untuk pembuatan. Panggilan gagal jika kelas atau instans sudah ada.
-
wbemChangeFlagUpdateOnly (1 (0x1))
-
Menyebabkan panggilan ini diperbarui. Kelas atau instans harus ada agar panggilan berhasil.
-
wbemFlagReturnImmediately (16 (0x10))
-
Menyebabkan panggilan segera kembali.
-
wbemFlagReturnWhenComplete (0 (0x0))
-
Menyebabkan panggilan ini diblokir hingga kueri selesai.
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
Menyebabkan WMI menulis data amandemen kelas serta definisi kelas dasar. Untuk informasi selengkapnya tentang kualifikasi yang diubah, lihat Melokalisasi Informasi Kelas WMI.
objwbemNamedValueSet [in, opsional]
Biasanya, ini tidak ditentukan. Jika tidak, ini adalah objek SWbemObjectPath 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
Jika panggilan berhasil, objek SWbemObjectPath dikembalikan. Objek ini berisi jalur objek instans atau kelas yang telah berhasil diterapkan ke WMI.
Kode kesalahan
Setelah penyelesaian metode Put_ , objek Err mungkin berisi salah satu kode kesalahan dalam daftar berikut.
-
wbemErrAccessDenied - 2147749891
-
Pengguna saat ini tidak memiliki izin untuk memperbarui instans kelas yang ditentukan.
-
wbemErrAlreadyExists - 2147749913 (0x80041019)
-
Bendera wbemChangeFlagCreateOnly ditentukan, tetapi instans sudah ada.
-
wbemErrFailed - 2147749889 (0x80041001)
-
Kesalahan yang tidak ditentukan.
-
wbemErrIllegalNull - 2147749898 (0x8004100A)
-
Nilai Tidak Ada yang ditentukan untuk properti yang mungkin bukan Apa-apa. Contoh properti tersebut adalah properti yang ditandai oleh kualifikasi Kunci,Terindeks, atau Not_Null.
-
wbemErrInvalidObject - 2147749908 (0x80041014)
-
Instans yang ditentukan tidak valid.
-
wbemErrInvalidParameter - 0x80041008
-
Parameter yang ditentukan tidak valid.
-
wbemErrNotFound - 2147749890 (0x80041002)
-
Bendera wbemChangeFlagUpdateOnly ditentukan, tetapi instans atau kelas tidak ada.
-
wbemErrIncompleteClass - 2147749920 (0x80041020)
-
Properti yang diperlukan untuk kelas belum semuanya diatur.
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
Memori tidak cukup untuk menyelesaikan operasi.
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 |