Metode IWbemServices::ExecQuery (wbemcli.h)
Metode IWbemServices::ExecQuery menjalankan kueri untuk mengambil objek.
Untuk jenis kueri valid yang bisa dilakukan, lihat Mengkueri dengan WQL.
Sintaks
HRESULT ExecQuery(
[in] const BSTR strQueryLanguage,
[in] const BSTR strQuery,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
Parameter
[in] strQueryLanguage
BSTR valid yang berisi salah satu bahasa kueri yang didukung oleh Manajemen Windows. Ini harus "WQL", akronim untuk Bahasa Kueri WMI.
[in] strQuery
BSTR valid yang berisi teks kueri. Parameter ini tidak boleh NULL. Untuk informasi selengkapnya tentang membangun string kueri WMI, lihat Mengkueri dengan WQL dan referensi WQL .
[in] lFlags
Bendera berikut memengaruhi perilaku metode ini. Nilai yang disarankan untuk parameter ini adalah WBEM_FLAG_RETURN_IMMEDIATELY dan WBEM_FLAG_FORWARD_ONLY untuk performa terbaik.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Jika bendera ini diatur, WMI mengambil kualifikasi yang diubah yang disimpan di namespace layanan lokal koneksi saat ini. Jika tidak diatur, hanya kualifikasi yang disimpan di namespace langsung yang diambil.
WBEM_FLAG_FORWARD_ONLY
Bendera ini menyebabkan enumerator hanya maju dikembalikan. Enumerator hanya penerusan umumnya jauh lebih cepat dan menggunakan lebih sedikit memori daripada enumerator konvensional tetapi tidak mengizinkan panggilan ke Kloning atau Reset.
WBEM_FLAG_BIDIRECTIONAL
Bendera ini menyebabkan Manajemen Windows mempertahankan pointer ke objek enumerasi hingga klien merilis enumerator.
WBEM_FLAG_RETURN_IMMEDIATELY
Bendera ini menyebabkan ini menjadi panggilan semisinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.
WBEM_FLAG_ENSURE_LOCATABLE
Bendera ini memastikan bahwa setiap objek yang dikembalikan memiliki informasi yang cukup di dalamnya sehingga properti sistem, seperti __PATH, __RELPATH, dan __SERVER, bukan NULL.
WBEM_FLAG_PROTOTYPE
Bendera ini digunakan untuk pembuatan prototipe. Ini tidak menjalankan kueri dan sebaliknya mengembalikan objek yang terlihat seperti objek hasil umum.
WBEM_FLAG_DIRECT_READ
Bendera ini menyebabkan akses langsung ke penyedia untuk kelas yang ditentukan tanpa memperhatikan kelas atau subkelas induknya.
[in] pCtx
Biasanya NULL. Jika tidak, ini adalah penunjuk ke objek IWbemContext yang dapat digunakan oleh penyedia yang menyediakan kelas atau instans yang diminta. Nilai dalam objek konteks harus ditentukan dalam dokumentasi untuk penyedia yang bersangkutan. Untuk informasi selengkapnya tentang parameter ini, lihat Melakukan Panggilan ke WMI.
[out] ppEnum
Jika tidak ada kesalahan yang terjadi, ini menerima enumerator yang memungkinkan pemanggil untuk mengambil instans dalam kumpulan hasil kueri. Ini bukan kesalahan bagi kueri untuk memiliki tataan hasil dengan 0 instans. Ini hanya ditentukan dengan mencoba melakukan iterasi melalui instans. Objek ini kembali dengan jumlah referensi positif. Penelepon harus memanggil Rilis ketika objek tidak lagi diperlukan.
Mengembalikan nilai
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.
Keterangan
Metode IWbemServices::ExecQuery memproses kueri yang ditentukan dalam parameter strQuery dan membuat enumerator tempat pemanggil dapat mengakses hasil kueri. Enumerator adalah penunjuk ke antarmuka IEnumWbemClassObject; hasil kueri adalah contoh objek kelas yang tersedia melalui antarmuka IWbemClassObject.
Ada batasan jumlah kata kunci "AND" dan "OR" yang dapat digunakan dalam kueri WQL. Sejumlah besar kata kunci WQL yang digunakan dalam kueri kompleks dapat menyebabkan WMI mengembalikan kode kesalahan WBEM_E_QUOTA_VIOLATION sebagai nilai HRESULT . Batas kata kunci WQL tergantung pada seberapa kompleks kuerinya.
Persyaratan
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 |