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 |