Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat kelas baru atau memperbarui Image yang sudah ada.
Catatan
API ini hanya untuk penggunaan internal. API ini tidak dimaksudkan untuk digunakan dari kode pengembang.
Sintaks
HRESULT PutClassWmi (
[in] IWbemClassObject* pObject,
[in] long lFlags,
[in] IWbemContext* pCtx,
[out] IWbemCallResult** ppCallResult
);
Parameter
pObject
[in] Penunjuk ke definisi kelas yang valid. Itu harus diinisialisasi dengan benar dengan semua nilai properti yang diperlukan.
lFlags
[in] Kombinasi bendera yang memengaruhi perilaku fungsi ini. Nilai berikut ditentukan dalam file header WbemCli.h, atau Anda dapat menentukannya sebagai konstanta dalam kode Anda:
| Terus-menerus | Nilai | Deskripsi |
|---|---|---|
WBEM_FLAG_USE_AMENDED_QUALIFIERS |
0x20000 | Jika diatur, WMI tidak akan menyimpan pengkualifikasi dengan ragam yang diubah. Jika tidak diatur, diasumsikan bahwa objek ini tidak dilokalkan, dan semua pengkualifikasi disimpan dengan instans ini. |
WBEM_FLAG_CREATE_OR_UPDATE |
0 | Buat kelas jika tidak ada, atau timpa jika sudah ada. |
WBEM_FLAG_UPDATE_ONLY |
1 | Perbarui kelas. Kelas harus ada agar panggilan berhasil. |
WBEM_FLAG_CREATE_ONLY |
2 | Membuat kelas. Panggilan gagal jika kelas sudah ada. |
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | Bendera menyebabkan panggilan semisinkron. |
WBEM_FLAG_OWNER_UPDATE |
0x10000 | Penyedia pendorongan harus menentukan bendera ini saat memanggil PutClassWmi untuk menunjukkan bahwa kelas ini telah berubah. |
WBEM_FLAG_UPDATE_COMPATIBLE |
0 | Memungkinkan kelas diperbarui jika tidak ada kelas turunan dan tidak ada instans kelas tersebut. Ini juga memungkinkan pembaruan dalam semua kasus jika perubahan hanya untuk pengkualifikasi yang tidak penting, seperti pengkualifikasi Deskripsi. Jika kelas memiliki instans atau perubahan untuk pengkualifikasi penting, maka pembaruan akan gagal. |
WBEM_FLAG_UPDATE_SAFE_MODE |
0x20 | Mengizinkan pembaruan kelas meskipun ada kelas turunan selama perubahan tersebut tidak menyebabkan konflik dengan kelas turunan. Misalnya, bendera ini memungkinkan properti baru ditambahkan ke kelas dasar yang sebelumnya tidak disebutkan di salah satu kelas turunan. Jika kelas memiliki instans, maka pembaruan akan gagal. |
WBEM_FLAG_UPDATE_FORCE_MODE |
0x40 | memaksa pembaruan kelas saat ada kelas turunan yang berkonflik. Misalnya, bendera ini memaksa pembaruan jika pengkualifikasi kelas didefinisikan dalam kelas turunan, dan kelas dasar mencoba menambahkan kualifikasi yang sama yang berkonflik dengan yang sudah ada. Dalam mode paksa, konflik jaringan diselesaikan dengan menghapus pengkualifikasi yang bertentangan di kelas turunan. |
pCtx
[in] Biasanya, nilai ini adalah null. Jika tidak, ini adalah penunjuk ke instans IWbemContext yang dapat digunakan oleh penyedia yang menyediakan kelas yang diminta.
ppCallResult
[keluar] Jika null, parameter ini tidak digunakan. Jika lFlags berisi WBEM_FLAG_RETURN_IMMEDIATELY, fungsi segera mengembalikan dengan WBEM_S_NO_ERROR. Parameter ppCallResult menerima penunjuk ke objek IWbemCallResult baru.
Mengembalikan nilai
Nilai berikut yang dikembalikan oleh fungsi ini ditentukan dalam file header WbemCli.h, atau Anda dapat menentukannya sebagai konstanta dalam kode Anda:
| Terus-menerus | Nilai | Deskripsi |
|---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | Pengguna tidak memiliki izin untuk membuat atau mengubah kelas. |
WBEM_E_FAILED |
0x80041001 | Terjadi kesalahan yang tidak tentu. |
WBEM_E_INVALID_CLASS |
0x80041010 | Kelas yang ditentukan tidak valid. Biasanya, ini menunjukkan bahwa pObject menentukan objek instans. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Parameter tidak valid. |
WBEM_E_INVALID OPERATION |
0x80041016 | Nama kelas yang ditentukan tidak valid. |
WBEM_E_CLASS_HAS_CHILDREN |
0x80041025 | Upaya dilakukan untuk membuat perubahan yang akan membatalkan subkelas. |
WBEM_E_ALREADY_EXISTS |
0x80041019 | Bendera WBEM_FLAG_CREATE_ONLY ditentukan, tetapi kelas sudah ada. |
WBEM_E_NOT_FOUND |
0x80041002 |
WBEM_FLAG_UPDATE_ONLY ditentukan dalam lFlags, dan kelas tidak ditemukan. |
WBEM_E_INCOMPLETE_CLASS |
0x80041020 | Properti yang diperlukan untuk kelas belum semuanya ditetapkan. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Tidak tersedia cukup memori untuk menyelesaikan operasi. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | WMI mungkin dihentikan dan dihidupkan ulang. Panggil ConnectServerWmi lagi. |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | Tautan panggilan prosedur jarak jauh (RPC) antara proses saat ini dan WMI telah gagal. |
WBEM_S_NO_ERROR |
0 | Panggilan fungsi berhasil. |
Keterangan
Fungsi ini membungkus panggilan ke metode IWbemServices::PutClass.
Pengguna tidak boleh membuat kelas dengan nama yang dimulai atau diakhiri dengan karakter garis bawah.
Jika panggilan fungsi gagal, Anda dapat memperoleh informasi kesalahan tambahan dengan memanggil fungsi GetErrorInfo.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: WMINet_Utils.idl
Versi .NET Framework: Tersedia sejak 4.7.2