Bagikan melalui


Metode SWbemServicesEx.Put

Metode Put objek SWbemServicesEx menyimpan objek ke namespace yang terikat ke objek dan mengembalikan objek SWbemObjectPath yang berisi jalur objek tempat data ditulis.

Metode ini dipanggil dalam mode semisinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.

Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.

Sintaks

objObjectPath = .Put( _
  ByVal objWbemObject, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

Parameter

objWbemObject

Wajib diisi. Objek baru yang akan dimasukkan ke dalam namespace. Ini bisa berupa objek yang baru dibuat atau objek yang dimodifikasi.

iFlags [opsional]

Parameter ini menentukan apakah panggilan membuat atau memperbarui objek 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, maka pembaruan akan gagal.

wbemChangeFlagUpdateSafeMode (32 (0x20))

Memungkinkan pembaruan kelas bahkan jika ada kelas anak, ketika 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, maka pembaruan akan gagal.

wbemChangeFlagUpdateForceMode (64 (0x40))

Bendera ini memaksa pembaruan kelas saat ada kelas anak yang bertentangan. Misalnya, bendera ini memaksa pembaruan jika kualifikasi kelas didefinisikan dalam kelas anak, dan kelas dasar mencoba menambahkan kualifikasi yang sama yang bertentangan dengan yang ada. Dalam mode paksa, konflik ini diselesaikan dengan menghapus kualifikasi yang bertentangan di kelas anak. Jika kelas memiliki instans, maka pembaruan akan gagal.

Penggunaan mode paksa untuk memperbarui kelas statis menyebabkan penghapusan semua instans kelas tersebut. Pembaruan paksa pada kelas penyedia tidak menghapus instans kelas.

wbemChangeFlagCreateOrUpdate (0 (0x0))

Menyebabkan kelas atau instans dibuat jika tidak 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 hanya melakukan pembaruan. Kelas atau instans harus ada agar panggilan berhasil.

wbemFlagReturnImmediately (16 (0x10))

Menyebabkan panggilan segera kembali.

wbemFlagReturnWhenComplete (0 (0x0))

Menyebabkan panggilan ini diblokir hingga operasi selesai. Bendera ini memanggil metode dalam mode sinkron.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Menyebabkan WMI menulis data amandemen kelas serta definisi kelas dasar. Untuk informasi selengkapnya, lihat Melokalisasi Informasi Kelas WMI.

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

Jika panggilan berhasil, objek SWbemObjectPath dikembalikan. Objek ini berisi jalur objek instans atau kelas yang telah berhasil diterapkan ke WMI.

Kode kesalahan

Setelah menyelesaikan metode Put , objek Err mungkin berisi salah satu kode kesalahan dalam daftar berikut.

wbemErrAccessDenied - 2147749891 (0x80041003)

Pengguna saat ini tidak memiliki izin untuk operasi ini.

wbemErrAlreadyExists - 2147749913 (0x80041019)

Bendera wbemChangeFlagCreateOnly ditentukan, tetapi instans sudah ada.

wbemErrFailed - 2147749889 (0x80041001)

Kesalahan yang tidak ditentukan.

wbemErrIllegalNull - 2147749898 (0x8004100A)

Nilai NULL ditentukan untuk properti yang tidak boleh NULL. Contoh properti tersebut adalah properti yang ditandai oleh kualifikasi Kunci, Terindeks, atau Not_Null .

wbemErrInvalidObject - 2147749908 (0x80041014)

Objek yang ditentukan tidak valid.

wbemErrInvalidParameter - 2147749896 (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
Wbemdisp.h
Pustaka jenis
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_ISWbemServicesEx
IID
IID_ISWbemServicesEx