Metode IWbemServices::P utClass (wbemcli.h)
Metode IWbemServices::P utClass membuat kelas baru atau memperbarui yang sudah ada. Kelas yang ditentukan oleh parameter pObject harus diinisialisasi dengan benar dengan semua nilai properti yang diperlukan.
Pengguna tidak boleh membuat kelas dengan nama yang dimulai atau diakhir dengan garis bawah (_). Ini disediakan untuk kelas sistem.
Sintaks
HRESULT PutClass(
[in] IWbemClassObject *pObject,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IWbemCallResult **ppCallResult
);
Parameter
[in] pObject
Harus menunjuk ke definisi kelas yang valid. Jumlah referensi tidak diubah.
[in] lFlags
Bendera berikut memengaruhi perilaku metode ini.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Jika bendera ini diatur, WMI tidak menyimpan kualifikasi apa pun dengan rasa yang diubah. Jika bendera ini tidak diatur, diasumsikan bahwa objek ini tidak dilokalkan, dan semua kualifikasi disimpan dengan instans ini.
WBEM_FLAG_CREATE_OR_UPDATE
Bendera ini menyebabkan kelas dibuat jika belum ada, atau ditimpa jika sudah ada.
WBEM_FLAG_UPDATE_ONLY
Bendera ini menyebabkan panggilan ini diperbarui. Kelas harus ada agar panggilan berhasil.
WBEM_FLAG_CREATE_ONLY
Bendera ini hanya digunakan untuk pembuatan. Panggilan gagal jika kelas sudah ada.
WBEM_FLAG_RETURN_IMMEDIATELY
Bendera ini menyebabkan ini menjadi panggilan semisinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.
WBEM_FLAG_OWNER_UPDATE
Penyedia push harus menentukan bendera ini saat memanggil PutClass, untuk menunjukkan bahwa kelas ini telah berubah.
WBEM_FLAG_UPDATE_COMPATIBLE
Bendera ini 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 Manajemen Windows sebelumnya. Jika kelas memiliki instans atau perubahan untuk pengkualifikasi penting, maka pembaruan akan gagal.
WBEM_FLAG_UPDATE_SAFE_MODE
Bendera ini memungkinkan pembaruan kelas bahkan jika ada kelas anak selama perubahan tidak menyebabkan konflik dengan kelas anak. Contoh pembaruan bendera ini akan memungkinkan untuk menambahkan properti baru ke kelas dasar yang sebelumnya tidak disebutkan di salah satu kelas anak. Jika kelas memiliki instans, maka pembaruan akan gagal.
WBEM_FLAG_UPDATE_FORCE_MODE
Bendera ini memaksa pembaruan kelas saat ada kelas anak yang bertentangan. Contoh pembaruan bendera ini akan memaksa adalah 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 akan diselesaikan dengan menghapus kualifikasi yang bertentangan di kelas anak.
[in] pCtx
Biasanya NULL. Jika tidak, ini adalah penunjuk ke objek IWbemContext yang diperlukan oleh penyedia kelas dinamis yang memproduksi instans kelas. Nilai dalam objek konteks harus ditentukan dalam dokumentasi untuk penyedia yang dimaksud. Untuk informasi selengkapnya tentang parameter ini, lihat Melakukan Panggilan ke WMI.
[out] ppCallResult
Jika NULL, parameter ini tidak digunakan. Jika parameter lFlags berisi WBEM_FLAG_RETURN_IMMEDIATELY, panggilan ini segera kembali dengan WBEM_S_NO_ERROR. Parameter ppCallResult menerima penunjuk ke objek IWbemCallResult baru, yang kemudian dapat dijajaki untuk mendapatkan hasilnya menggunakan metode IWbemCallResult::GetCallStatus .
Nilai kembali
Metode ini mengembalikan HRESULT yang menunjukkan status panggilan metode. Daftar berikut mencantumkan nilai yang terkandung dalam HRESULT.
Jika gagal, Anda dapat memperoleh informasi apa pun yang tersedia dari fungsi COM GetErrorInfo.
Kode kesalahan khusus COM juga dapat dikembalikan jika masalah jaringan menyebabkan Anda kehilangan koneksi jarak jauh ke Manajemen Windows.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | wbemcli.h (termasuk Wbemidl.h) |
Pustaka | Wbemuuid.lib |
DLL | Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll |