Bagikan melalui


IWbemEventProviderQuerySink::Metode NewQuery (wbemprov.h)

Panggil metode IWbemEventProviderQuerySink::NewQuery saat konsumen peristiwa logis mendaftarkan filter kueri peristiwa yang relevan dengan Manajemen Windows. Metode NewQuery menentukan bagaimana penyedia merespons kueri baru yang didaftarkan oleh aplikasi klien. Saat WMI menerima kueri peristiwa baru atau yang dimodifikasi dari konsumen, WMI memanggil NewQuery untuk menggemakan kueri ke penyedia peristiwa. Penyedia kemudian menghasilkan pemberitahuan yang diminta.

Sintaks

HRESULT NewQuery(
  [in] unsigned long dwId,
  [in] WBEM_WSTR     wszQueryLanguage,
  [in] WBEM_WSTR     wszQuery
);

Parameter

[in] dwId

Pengidentifikasi yang dihasilkan Manajemen Windows untuk kueri. Penyedia dapat melacak ini sehingga selama panggilan nanti ke CancelQuery sehingga penyedia akan mengetahui kueri mana yang dibatalkan.

[in] wszQueryLanguage

Bahasa filter kueri berikut. Untuk versi WMI ini, akan selalu "WQL".

[in] wszQuery

Teks filter kueri peristiwa, yang didaftarkan oleh konsumen logis. Penyedia peristiwa dapat memeriksa teks filter kueri melalui parameter wszQuery dan bahasa filter kueri di parameter wszQueryLanguage untuk menemukan pemberitahuan peristiwa mana yang diminta konsumen.

Nilai kembali

Metode ini mengembalikan HRESULT yang menunjukkan status panggilan metode. Daftar berikut mencantumkan kode pengembalian yang dikembalikan oleh NewQuery. Selain itu, penyedia peristiwa pihak ketiga dapat mengembalikan kode pengembalian WMI atau COM yang valid yang dapat diteruskan melalui NewQuery sebagai nilai pengembalian.

Keterangan

Jika konsumen mendaftarkan kueri filter peristiwa dengan Manajemen Windows dan kueri berisi referensi ke peristiwa yang disediakan oleh penyedia peristiwa saat ini, Manajemen Windows dapat memberi tahu penyedia peristiwa kueri.

Jika penyedia mengimplementasikan antarmuka IWbemEventProviderQuerySink , Manajemen Windows akan menyediakan salinan teks kueri kepada penyedia. Penyedia harus mengurai kueri, dan menentukan apakah dapat melakukan pengoptimalan internal.

Manajemen Windows tidak mengharapkan penyedia mengubah perilakunya dengan cara apa pun. Sebaliknya, ini adalah panggilan saran untuk membantu penyedia dengan pengoptimalan internal.

Misalnya, jika penyedia mampu menyediakan ratusan peristiwa, tetapi overhead yang diperlukan untuk menyediakan semuanya sangat bagus, penyedia dapat mencapai penghematan substansial jika tahu bahwa sebagian besar peristiwa ini tidak diperlukan oleh serangkaian konsumen peristiwa saat ini. Jika penyedia mengimplementasikan IWbemEventProviderQuerySink, penyedia akan tahu tentang serangkaian peristiwa saat ini yang diminta oleh semua konsumen. Ini mungkin dapat menghindari pengaturan mekanisme untuk memberikan sebagian besar jenis peristiwa yang didukungnya sampai konsumen benar-benar mulai meminta peristiwa tersebut.

Untuk setiap filter kueri konsumen baru, panggilan terpisah ke metode ini dengan dwId unik akan dilakukan. Ketahuilah bahwa Manajemen Windows berhak untuk memanggil NewQuery lebih dari satu kali untuk nilai dwId yang sama; misalnya, jika ada perubahan skema di tempat lain dalam sistem. Untuk versi WMI ini, bahasa kueri selalu "WQL".

Metode IWbemEventProviderQuerySink::NewQuery dapat dipanggil sebelum metode IWbemEventProvider::P rovideEvents .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header wbemprov.h (termasuk Wbemidl.h)
Pustaka Wbemuuid.lib
DLL Wbemsvc.dll

Lihat juga

IWbemEventProviderQuerySink

IWbemEventProviderQuerySink::CancelQuery