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.
[Kelas WMI C++ yang merupakan bagian dari Kerangka Kerja Penyedia WMI yang sekarang dipertimbangkan dalam status akhir, dan tidak ada pengembangan, peningkatan, atau pembaruan lebih lanjut yang akan tersedia untuk masalah terkait non-keamanan yang memengaruhi pustaka ini. API MI harus digunakan untuk semua pengembangan baru.]
Pustaka kerangka kerja penyedia Framedyd.dll (versi debug) dan Framedyn.dll (versi rilis) menerapkan beberapa kelas pembantu penyedia. Beberapa fungsi dalam Framedyn.dll telah dihapus dari file header. Untuk terus menggunakan fungsi-fungsi ini, tambahkan #define FRAMEWORK_ALLOW_DEPRECATED ke kode Anda sebelum menyertakan Fwcommon.h.
Anda dapat membongkar penyedia individual yang tidak lagi diperlukan.
Untuk menggunakan kemampuan ini, Anda harus membuat tiga perubahan berikut pada penyedia Anda di MainDll.cpp:
- Dalam fungsi DllMain tempat Anda memanggil CWbemProviderGlue::FrameworkLoginDLL, Anda harus menambahkan parameter kedua yang merupakan pointer ke panjang.
- Dalam fungsi DllCanUnloadNow tempat Anda memanggil CWbemProviderGlue::FrameworkLogoffDLL, Anda harus menambahkan parameter kedua yang merupakan penunjuk ke panjang.
- Dalam fungsi DllGetClassObject tempat Anda membuat instans CWbemGlueFactory, Anda harus menambahkan parameter yang merupakan pointer ke panjang.
Dalam ketiga kasus, penunjuk ke panjang harus penunjuk yang sama.
Catatan
Di Maindll.cpp, dllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer , dan dllMain harus dibungkus dalam blok try/catch.
Perhatian
Tautan build debug penyedia dengan Framedyd.lib untuk Framedyd.dll. Framedyd.dll berada di direktori \bin Microsoft Windows Software Development Kit (SDK) yang tidak termasuk dalam jalur sistem. Ketika build debug penyedia diuji dengan layanan Manajemen Windows, penyedia kerangka kerja akan gagal dimuat karena Framedyd.dll atau salah satu dependensinya tidak akan ditemukan. Oleh karena itu, Anda harus menyalin Framedyd.dll dari direktori \bin Windows SDK ke direktori \system32\wbem atau menambahkan direktori \bin Windows SDK ke jalur pencarian sistem.
Tabel berikut mencantumkan kelas utilitas kerangka kerja penyedia.
| Kelas utilitas | Deskripsi |
|---|---|
| CHString | Menyediakan fungsi perbandingan string dan manipulasi untuk WMI. |
| CHStringArray | Berisi untuk membuat dan memanipulasi array CHString. |
| TRefPointerCollection | Memberikan akses ke kelas kontainer untuk pointer. |
| WBEMTime | Memfasilitasi konversi antara berbagai format run-time Windows dan ANSI C. |
| WBEMTimeSpan | Berisi fungsi pembantu yang digunakan untuk menghitung dan menahan perbedaan rentang waktu antara dua objek WBEMTime. |
Catatan
Kelas CHString dan CHStringArray mirip dengan Microsoft Foundation Classes (MFC) CString dan CStringArray. Versi WMI ada sehingga pengembang dapat mengakses manipulasi string dan metode perbandingan tanpa harus mengakses MFC. Kelas WBEMTime dan WBEMTimeSpan juga mirip dengan kelas CTime MFC dan CTimeSpan. Versi WMI mampu menyimpan waktu untuk akurasi nanodetik, dan juga dapat mengonversi ke dan dari BSTR. Untuk informasi selengkapnya tentang kelas CString, CStringArray, CTime, dan CTimeSpan, lihat dokumentasi Aplikasi Desktop MFC.
Nilai BSTR yang dikembalikan oleh metode WBEMTime berada dalam Format Tanggal dan Waktu: "yyyymmddHHMMSS.mmmmmmsUUUU"
Nilai BSTR yang dikembalikan oleh metode WBEMTimeSpan berada dalam Format Interval: "dddddddddHHMMSS.mmmmmm:000"
Meskipun rentang waktu dan waktu disimpan secara internal sebagai nanodetik, waktu dan rentang waktu belum tentu disimpan dengan akurasi nanodetik. Ini karena objek WBEMTime dapat dibangun menggunakan format waktu yang akurat hingga detik (struct tm, dan time_t). Menambahkan tempat desimal buatan tidak meningkatkan akurasi.