COM API untuk WMI
Anda dapat menggunakan API WMI Component Object Model (COM) untuk menulis aplikasi klien manajemen atau membuat penyedia WMI baru. Referensi COM API menyediakan informasi untuk administrator sistem tingkat lanjut, serta pengembang yang menulis aplikasi klien dan penyedia.
Untuk informasi selengkapnya tentang menulis aplikasi manajemen perusahaan WMI, lihat Membuat Aplikasi WMI Menggunakan C++. Untuk informasi selengkapnya tentang cara menulis penyedia WMI, lihat Menyediakan Data ke WMI.
Catatan
WMI hanya mendukung pengembangan C++ menggunakan Microsoft Visual C++ versi 6.0 dan sistem pengembangan yang lebih baru. Namun, Anda juga dapat menggunakan kompilator lain seperti yang berasal dari Borland dan Watcom.
Masing-masing objek WMI yang berbeda mewarisi dari antarmuka yang pada akhirnya diwarisi dari antarmuka IUnknown . COM menentukan bagaimana pelaksana objek, atau antarmuka, menangani tugas seperti manajemen memori, manajemen parameter, dan multithreading. Dengan menyesuaikan dengan COM, COM API untuk WMI memastikan bahwa IA mendukung fungsionalitas yang disediakan oleh antarmuka setiap objek WMI.
WMI diakses melalui antarmuka COM khusus WMI berikut.
Antarmuka | Deskripsi |
---|---|
IEnumWbemClassObject | Enumerator yang bekerja dengan objek jenis IWbemClassObject. Ini mirip dengan enumerator COM standar, seperti IEnumVariant. |
IMofCompiler | Diimplementasikan oleh Mofd.dll, antarmuka ini menyediakan antarmuka COM yang digunakan oleh pengkompilasi MOF dan aplikasi lain yang mengkompilasi file MOF. |
IUnsecuredApartment | Digunakan untuk menyederhanakan proses melakukan panggilan asinkron dari proses klien. |
IWbemBackupRestore | Mencadangkan dan memulihkan konten repositori WMI. |
IWbemCallResult | Digunakan untuk panggilan semisinkron antarmuka IWbemServices . Saat melakukan panggilan seperti itu, metode yang disebut IWbemServices segera kembali, bersama dengan objek IWbemCallResult . |
IWbemCausalityAnalysis | Melacak permintaan anak yang dihasilkan dari permintaan induk. |
IWbemClassObject | Berisi dan memanipulasi definisi kelas dan instans objek kelas. Pengembang tidak perlu mengimplementasikan antarmuka ini; WMI menyediakan implementasinya. |
IWbemConfigureRefresher | Digunakan oleh kode klien untuk menambahkan atau menghapus enumerator, objek, dan penyegar berlapis ke dalam penyegaran. |
IWbemContext | Secara opsional digunakan untuk mengomunikasikan informasi konteks tambahan kepada penyedia saat mengirimkan panggilan IWbemServices ke Manajemen Windows. |
IWbemDecoupledBasicEventProvider | Mendaftarkan penyedia yang di-decouple dengan WMI. |
IWbemDecoupledRegistrar | Mengaitkan penyedia yang di-decouple dengan WMI. Antarmuka ini memungkinkan penyedia yang dihosting proses untuk menentukan masa pakai interoperabilitas antarmuka dan hidup berdampingan dengan penyedia lain. |
IWbemEventConsumerProvider | Menyediakan antarmuka utama untuk penyedia konsumen peristiwa. Melalui antarmuka ini dan metode FindConsumer , penyedia konsumen peristiwa dapat menunjukkan peristiwa mana yang harus diterima konsumen peristiwa tertentu. |
IWbemEventProvider | Digunakan untuk memulai komunikasi dengan penyedia peristiwa. |
IWbemEventProviderQuerySink | Secara opsional diimplementasikan oleh penyedia peristiwa yang ingin mengetahui jenis filter kueri peristiwa apa yang saat ini aktif untuk mengoptimalkan performa. |
IWbemEventProviderSecurity | Secara opsional diimplementasikan oleh penyedia peristiwa yang ingin membatasi akses konsumen ke acara mereka. |
IWbemEventSink | Memulai komunikasi dengan penyedia peristiwa menggunakan sekumpulan kueri terbatas. Antarmuka ini memperluas IWbemObjectSink, menyediakan metode baru yang menangani keamanan dan performa. |
IWbemHiPerfProvider | Memungkinkan penyedia untuk menyediakan objek dan enumerator yang dapat disegarkan. |
IWbemHiPerfEnum | Digunakan dalam operasi penyegaran untuk menyediakan akses cepat ke enumerasi objek instans. |
IWbemLocator | Mendapatkan penunjuk namespace layanan awal ke antarmuka IWbemServices untuk WMI pada komputer host tertentu. |
IWbemObjectAccess | Menyediakan akses ke metode dan properti objek. Objek IWbemObjectAccess adalah kontainer untuk instans yang diperbarui oleh penyegaran. |
IWbemObjectSink | Digunakan untuk menerima hasil IWbemServices dan jenis pemberitahuan peristiwa tertentu. |
IWbemObjectTextSrc | Digunakan untuk menerjemahkan instans IWbemClassObject ke dan dari format teks yang berbeda. |
IWbemPropertyProvider | Mendukung pengambilan dan pembaruan properti individual dalam instans kelas WMI. |
IWbemProviderIdentity | Diimplementasikan oleh penyedia peristiwa jika penyedia mendaftarkan dirinya menggunakan lebih dari satu Nama (beberapa instans __Win32Provider) dengan nilai CLSID yang sama. Kelas menyediakan mekanisme untuk membedakan penyedia bernama mana yang harus digunakan. |
IWbemProviderInit | Digunakan untuk menginisialisasi penyedia. |
IWbemProviderInitSink | Diimplementasikan oleh WMI dan dipanggil oleh penyedia untuk melaporkan status inisialisasi. |
IWbemQualifierSet | Bertindak sebagai kontainer untuk seluruh set kualifikasi bernama untuk satu properti atau seluruh objek (kelas atau instans). |
IWbemQuery | Menyediakan titik masuk di mana kueri WMI Query Language (WQL) dapat diurai. |
IWbemRefresher | Menyediakan titik masuk di mana objek yang dapat disegarkan seperti enumerator atau objek penyegar, dapat disegarkan. |
IWbemServices | Digunakan oleh klien dan penyedia untuk mengakses layanan WMI. Antarmuka hanya diimplementasikan oleh WMI dan merupakan antarmuka WMI utama. |
IWbemStatusCodeText | Mengekstrak deskripsi string teks kode kesalahan atau nama subsistem tempat kesalahan terjadi. |
IWbemUnboundObjectSink | Diimplementasikan oleh semua konsumen peristiwa logis. Ini adalah antarmuka sink sederhana yang menerima pengiriman objek peristiwa. |
Catatan
Banyak fungsi WMI COM mengembalikan kode kesalahan numerik yang didokumentasikan sebagai konstanta bernama. Konstanta ini didefinisikan dalam Wbemcli.h di folder PSDK WMI\Include. Untuk informasi selengkapnya, lihat Kode Pengembalian WMI.
Untuk informasi selengkapnya tentang topik berikut untuk pemrograman COM, lihat Pengembangan Komponen:
- Antarmuka dan desain objek.
- Menerapkan IUnknown.
- Manajemen memori
- Menangani penghitungan referensi.
Topik terkait