metode SWbemObject.PutAsync_
Metode PutAsync_SWbemObject secara asinkron membuat atau memperbarui instans atau objek kelas ke Instrumentasi Manajemen Windows (WMI). Anda dapat menggunakan metode ini setelah memodifikasi properti atau metode apa pun di SWbemObject, dan perubahan Anda ditulis ke WMI.
Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.
Sintaks
SWbemObject.PutAsync_( _
ByVal objWbemSink, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
Parameter
-
objWbemSink [in]
-
Wajib diisi. Sink objek yang secara asinkron menerima hasil operasi put .
-
iFlags [in, opsional]
-
Menentukan apakah panggilan membuat atau memperbarui kelas atau instans dan apakah 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.
-
WbemChangeFlagUpdateForceMode (64 (0x40))
-
Memaksa pembaruan kelas saat kelas anak yang bertentangan ada. Misalnya, bendera ini memaksa pembaruan jika kualifikasi kelas didefinisikan dalam kelas anak, dan kelas dasar mencoba menambahkan kualifikasi yang sama bertentangan dengan yang sudah ada. Dalam mode paksa konflik ini diselesaikan dengan menghapus kualifikasi yang bertentangan di kelas anak. Jika kelas memiliki instans pembaruan 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.
-
wbemFlagSendStatus (128 (0x80))
-
Menyebabkan panggilan asinkron mengirim pembaruan status ke penanganan aktivitas SWbemSink.OnProgress untuk sink objek.
-
wbemFlagDontSendStatus (0 (0x0))
-
Mencegah panggilan asinkron mengirim pembaruan status ke penanganan aktivitas OnProgress untuk sink objek.
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
Menyebabkan WMI menulis data amandemen kelas bersama dengan 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 SWbemNamedValueSet yang elemennya mewakili informasi konteks yang dapat digunakan oleh penyedia yang melayani permintaan. Penyedia yang mendukung atau memerlukan informasi ini harus men dokumentasikan nama nilai yang dikenali, jenis data nilai, nilai yang diizinkan, dan semantik.
objWbemAsyncContext [in, opsional]
Ini adalah objek SWbemNamedValueSet yang kembali ke sink objek untuk mengidentifikasi sumber panggilan asinkron asli. Gunakan parameter ini jika Anda melakukan beberapa panggilan asinkron menggunakan sink objek yang sama. Untuk menggunakan parameter ini, buat objek SWbemNamedValueSet dan gunakan metode SWbemNamedValueSet.Add untuk menambahkan nilai yang mengidentifikasi panggilan asinkron yang Anda buat. Objek SWbemNamedValueSet ini dikembalikan ke sink objek dan sumber panggilan dapat diekstrak menggunakan metode SWbemNamedValueSet.Item . Untuk informasi selengkapnya, lihat Memanggil Metode.
Menampilkan nilai
Metode ini tidak mengembalikan nilai. Jika panggilan berhasil, peristiwa OnObjectPut dari sink objek yang disediakan menerima objek SWbemObjectPath , yang berisi jalur objek instans atau kelas yang berhasil diterapkan ke WMI.
Kode kesalahan
Setelah penyelesaian metode PutAsync_ , objek Err mungkin berisi salah satu kode kesalahan dalam daftar berikut.
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
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 - 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.
Keterangan
Panggilan ini segera kembali, dan hasil operasi put dikembalikan ke pemanggil melalui panggilan balik yang dikirimkan ke sink yang ditentukan dalam objWbemSink. Terapkan objWbemSink. Metode OnObjectPut untuk mendapatkan jalur objek instans atau kelas yang ditulis ke repositori WMI. Untuk informasi selengkapnya tentang metode sink, lihat Memanggil Metode.
Panggilan balik asinkron memungkinkan pengguna yang tidak diautentikasi untuk menyediakan data ke sink. Ini menimbulkan risiko keamanan pada skrip dan aplikasi Anda. Untuk menghilangkan risiko, gunakan komunikasi semisinkron atau sinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.
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 |