Bagikan melalui


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

Lihat juga

IWbemServices

IWbemServices::ExecQueryAsync

Mengkueri dengan WQL