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 atau memperbarui instans kelas yang ada. Instans ditulis ke repositori WMI.
Nota
API ini hanya untuk penggunaan internal. Ini tidak dimaksudkan untuk digunakan dari kode pengembang.
Syntax
HRESULT PutInstanceWmi (
[in] IWbemClassObject* pInst,
[in] long lFlags,
[in] IWbemContext* pCtx,
[out] IWbemCallResult** ppCallResult
);
Parameter-parameternya
pInst
[di] Penunjuk ke instans yang akan ditulis.
lFlags
[di] Kombinasi bendera yang memengaruhi perilaku fungsi ini. Nilai berikut didefinisikan dalam file header WbemCli.h , atau Anda dapat menentukannya sebagai konstanta dalam kode Anda:
| Konstanta | Nilai | Description |
|---|---|---|
WBEM_FLAG_USE_AMENDED_QUALIFIERS |
0x20000 | Jika diatur, WMI tidak menyimpan kualifikasi apa pun dengan Amended rasa. Jika tidak diatur, diasumsikan bahwa objek ini tidak dilokalkan, dan semua kualifikasi disimpan dengan instans ini. |
WBEM_FLAG_CREATE_OR_UPDATE |
0 | Buat instans jika tidak ada, atau timpa jika sudah ada. |
WBEM_FLAG_UPDATE_ONLY |
1 | Perbarui instans. Instans harus ada agar panggilan berhasil. |
WBEM_FLAG_CREATE_ONLY |
2 | Buat instans. Panggilan gagal jika instans sudah ada. |
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | Bendera menyebabkan panggilan semisinkron. |
pCtx
[di] Biasanya, nilai ini adalah null. Jika tidak, ini adalah penunjuk ke instans IWbemContext yang dapat digunakan oleh penyedia yang menyediakan kelas yang diminta.
ppCallResult
[out] Jika null, parameter ini tidak digunakan. Jika lFlags berisi WBEM_FLAG_RETURN_IMMEDIATELY, fungsi akan segera kembali dengan WBEM_S_NO_ERROR. Parameter ppCallResult menerima penunjuk ke objek IWbemCallResult baru.
Mengembalikan nilai
Nilai berikut yang dikembalikan oleh fungsi ini didefinisikan dalam file header WbemCli.h , atau Anda dapat menentukannya sebagai konstanta dalam kode Anda:
| Konstanta | Nilai | Description |
|---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | Pengguna tidak memiliki izin untuk memperbarui instans kelas yang ditentukan. |
WBEM_E_FAILED |
0x80041001 | Terjadi kesalahan yang tidak ditentukan. |
WBEM_E_INVALID_CLASS |
0x80041010 | Kelas yang mendukung instans ini tidak valid. |
WBEM_E_ILLEGAL_NULL |
0x80041028 |
null ditentukan untuk properti yang tidak dapat null, seperti properti yang ditandai oleh Indexed atau Not_Null kualifikasi. |
WBEM_E_INVALID_OBJECT |
0x8004100f | Instans yang ditentukan tidak valid. (Misalnya, memanggil PutInstanceWmi dengan kelas mengembalikan nilai ini.) |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Parameter tidak valid. |
WBEM_E_ALREADY_EXISTS |
0x80041019 | Bendera WBEM_FLAG_CREATE_ONLY ditentukan, tetapi instans sudah ada. |
WBEM_E_NOT_FOUND |
0x80041002 |
WBEM_FLAG_UPDATE_ONLY ditentukan dalam lFlags, tetapi instans tidak ada. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Memori tidak cukup tersedia untuk menyelesaikan operasi. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | WMI mungkin dihentikan dan dimulai 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. |
Komentar
Fungsi ini membungkus panggilan ke metode IWbemServices::P utInstance .
Fungsi ini PutInstanceWmi mendukung pembuatan instans dan memperbarui instans kelas yang ada saja. Bergantung pada bagaimana pCtx parameter diatur, beberapa atau semua properti instans diperbarui.
Ketika instans yang diarahkan oleh pInst milik subkelas, Manajemen Windows memanggil semua penyedia yang bertanggung jawab atas kelas tempat subkelas berasal. Semua penyedia ini harus berhasil agar permintaan asli PutInstanceWmi berhasil. Penyedia yang mendukung kelas teratas dalam hierarki dipanggil terlebih dahulu. Pesanan panggilan berlanjut dengan subkelas kelas paling atas dan berlanjut dari atas ke bawah sampai Manajemen Windows mencapai penyedia untuk kelas yang memiliki instans yang diarahkan oleh pInst.
Manajemen Windows tidak memanggil penyedia untuk salah satu kelas turunan instans.
Ketika aplikasi harus memperbarui instans milik hierarki kelas, pInst parameter harus menunjuk ke instans yang berisi properti yang akan dimodifikasi. Artinya, pertimbangkan instans target milik ClassB.
ClassB Instans berasal dari ClassA, dan ClassA mendefinisikan properti PropA. Jika aplikasi ingin membuat perubahan pada nilai PropA dalam instans, aplikasi harus diatur pInst ke instans tersebut ClassB daripada instans ClassA.
PutInstanceWmi Panggilan pada instans kelas abstrak tidak diizinkan.
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