Bagikan melalui


Metode SWbemServices.ExecQueryAsync

Metode ExecQueryAsync dari objek SWbemServices menjalankan kueri untuk mengambil objek. Panggilan ke metode ini segera kembali, dan hasil dan status dikembalikan ke pemanggil melalui peristiwa yang dikirimkan ke sink yang ditentukan dalam objWbemSink. Untuk menangani setiap objek yang dikembalikan, buat objWbemSink. Subroutine peristiwa OnObjectReady .

Metode ini dipanggil dalam mode asinkron. Untuk informasi selengkapnya, lihat Memanggil Metode.

Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.

Sintaks

objWbemObjectSet = .ExecQueryAsync( _
  [ ByVal objWbemSink ], _
  ByVal strQuery, _
  [ ByVal strQueryLanguage ], _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Parameter

objWbemSink [opsional]

Sink objek yang menjalankan kueri secara asinkron. Buat objek SWbemSink untuk menerima objek.

strQuery

Wajib diisi. String yang berisi teks kueri. Parameter ini tidak boleh kosong. Untuk informasi selengkapnya tentang membangun string kueri WMI, lihat Mengkueri dengan WQL dan referensi WQL .

strQueryLanguage [opsional]

String yang berisi bahasa kueri yang akan digunakan. Jika ditentukan, nilainya harus "WQL".

iFlags [opsional]

Bilangan bulat yang menentukan perilaku kueri. Parameter ini dapat menerima nilai berikut.

wbemFlagSendStatus (128 (0x80))

Menyebabkan panggilan asinkron mengirim pembaruan status ke penanganan aktivitas OnProgress untuk sink objek.

wbemFlagDontSendStatus (0 (0x0))

Mencegah panggilan asinkron mengirim pembaruan status ke penanganan aktivitas OnProgress untuk sink objek.

wbemQueryFlagPrototype (2 (0x2))

Digunakan untuk prototipe. Ini menghentikan kueri terjadi dan sebaliknya, mengembalikan objek yang terlihat seperti objek hasil umum.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Menyebabkan WMI mengembalikan data amandemen kelas dengan definisi kelas dasar. Untuk informasi selengkapnya, lihat Melokalisasi Informasi Kelas WMI.

objwbemNamedValueSet [opsional]

Biasanya, ini tidak ditentukan. Jika tidak, ini adalah objek SWbemNamedValueSet yang elemennya mewakili informasi konteks yang dapat digunakan oleh penyedia yang melayani permintaan. Penyedia yang mendukung atau memerlukan informasi konteks harus mendokumentasikan nama nilai yang dikenali, jenis data nilai, nilai yang diizinkan, dan semantik.

objWbemAsyncContext [opsional]

Objek SWbemNamedValueSet yang kembali ke sink objek untuk mengidentifikasi sumber panggilan asinkron asli. Gunakan parameter ini untuk melakukan beberapa panggilan asinkron menggunakan sink objek yang sama. Untuk menggunakan parameter ini, buat objek SWbemNamedValueSet , dan gunakan metode SWbemNamedValueSet.Add untuk menambahkan nilai yang mengidentifikasi panggilan asinkron yang Anda lakukan. Objek SWbemNamedValueSet ini dikembalikan ke sink objek dan sumber panggilan dapat diekstraksi menggunakan metode SWbemNamedValueSet.Item . Untuk informasi selengkapnya, lihat Memanggil Metode.

Nilai kembali

Metode ini tidak memiliki nilai pengembalian. Jika berhasil, sink menerima peristiwa OnObjectReady per instans. Setelah instans terakhir, sink objek menerima peristiwa OnCompleted .

Kode kesalahan

Setelah penyelesaian metode ExecQueryAsync , objek Err dapat berisi salah satu kode kesalahan dalam daftar berikut.

wbemErrAccessDenied - 2147749891 (0x80041003)

Pengguna saat ini tidak memiliki izin untuk melihat tataan hasil.

wbemErrFailed - 2147749889 (0x80041001)

Kesalahan yang tidak ditentukan.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Parameter tidak valid ditentukan.

wbemErrInvalidQuery - 2147749911 (0x80041017)

Sintaks kueri tidak valid.

wbemErrInvalidQueryType - 2147749912 (0x80041018)

Bahasa kueri yang diminta tidak didukung.

wbemErrOutOfMemory - 2147749894 (0x80041006)

Tidak cukup memori untuk menyelesaikan operasi.

Keterangan

Panggilan ini segera kembali. Objek dan status yang diminta dikembalikan ke pemanggil melalui panggilan balik yang dikirimkan ke sink yang ditentukan dalam objWbemSink. Untuk memproses setiap objek saat kembali, buat objWbemSink. Subroutine peristiwa OnObjectReady . Setelah semua objek dikembalikan, lakukan pemrosesan akhir dalam implementasi objWbemSink Anda. Peristiwa OnCompleted .

Panggilan balik asinkron memungkinkan pengguna yang tidak diautentikasi untuk menyediakan data ke sink. Ini menimbulkan risiko keamanan terhadap skrip dan aplikasi Anda. Untuk menghilangkan risiko, lihat Mengatur Keamanan pada Panggilan Asinkron

Metode ExecQueryAsync mengembalikan tataan hasil kosong saat tidak ada objek yang cocok dengan kriteria dalam kueri. Metode ini mengembalikan properti kunci apakah properti Kunci diminta atau tidak dalam parameter strQuery .

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

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista
Server minimum yang didukung
Windows Server 2008
Header
Wbemdisp.h
Pustaka jenis
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

Lihat juga

SWbemServices

Memanggil Metode

SWbemServices.Get