Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Penemuan Fungsi tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya.]
Melakukan kueri yang ditentukan oleh IFunctionDiscovery::CreateInstanceQuery.
Sintaks
HRESULT Execute(
[out] IFunctionInstance **ppIFunctionInstance
);
Parameter
[out] ppIFunctionInstance
Penunjuk ke penunjuk antarmuka IFunctionInstance yang menerima instans fungsi yang diminta.
Nilai kembali
Kemungkinan nilai yang dikembalikan termasuk, tetapi tidak terbatas pada, berikut ini.
| Mengembalikan kode/nilai | Deskripsi |
|---|---|
|
Metode berhasil diselesaikan. |
|
Parameter ppIFunctionInstance adalah NULL. |
|
Metode tidak dapat mengalokasikan memori yang diperlukan untuk melakukan operasi ini. |
|
Hasil yang akan dikembalikan oleh penyedia akan datang melalui pemberitahuan asinkron. |
|
Instans fungsi yang diwakili oleh ID yang ditentukan tidak ada pada komputer ini. |
|
Instans fungsi tidak dapat dikembalikan karena kunci yang sesuai dengan instans fungsi dihapus oleh proses lain. Kesalahan ini dikembalikan oleh penyedia registri jika kunci dihapus saat pemrosesan kueri sedang berlangsung. |
|
Instans fungsi tidak dapat dikembalikan karena kunci yang sesuai dengan instans fungsi tidak dapat ditemukan. Kesalahan ini dikembalikan oleh penyedia registri ketika penyedia tidak dapat menemukan instans yang cocok untuk kueri instans. |
Kueri yang telah ditentukan sebelumnya adalah kueri kategori berlapis. Saat kueri yang telah ditentukan sebelumnya dijalankan, setiap penyedia yang mengembalikan instans fungsi juga mengembalikan nilai HRESULT. Nilai HRESULT penyedia dikumpulkan, dan nilai yang dikembalikan oleh metode Execute mencerminkan hasil agregat ini. Hasil dikumpulkan sebagai berikut:
- Jika semua penyedia mengembalikan S_OK, Jalankan mengembalikan S_OK.
- Jika setidaknya satu penyedia mengembalikan E_PENDING, dan semua penyedia lain mengembalikan S_OK atau E_PENDING, Jalankan mengembalikan E_PENDING.
- Jika semua penyedia mengembalikan nilai kesalahan (yaitu, nilai selain S_OK atau E_PENDING), Execute mengembalikan nilai kesalahan yang dikembalikan oleh penyedia jaringan yang terakhir dikueri. Selain itu, jika rutinitas panggilan balik IFunctionDiscoveryNotification klien diberikan ke IFunctionDiscovery::CreateInstanceCollectionQuery, pemberitahuan OnError dikirim untuk setiap penyedia. Setiap pemberitahuan OnError berisi HRESULT yang dikembalikan oleh penyedia.
- Jika setidaknya satu penyedia mengembalikan nilai kesalahan, dan semua penyedia lain mengembalikan S_OK, Jalankan mengembalikan S_OK. Pemberitahuan OnError dikirim seperti yang dijelaskan di atas.
- Jika setidaknya satu penyedia mengembalikan nilai kesalahan, dan setidaknya satu penyedia mengembalikan E_PENDING, Jalankan mengembalikan E_PENDING. Pemberitahuan OnError dikirim seperti yang dijelaskan di atas.
Keterangan
Metode ini harus dipanggil oleh program klien untuk mengambil data dari objek kueri. Ketika dipanggil, metode ini melakukan hal berikut:
- Mengambil instans fungsi.
- Memulai mekanisme pemberitahuan pembaruan jika alamat rutinitas panggilan balik IFunctionDiscoveryNotification program klien disediakan untuk IFunctionDiscovery::CreateInstanceQuery.
Jika Jalankan dipanggil dua kali pada objek kueri yang sama, kueri pertama dihentikan sebelum kueri kedua dijalankan.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
| Target Platform | Windows |
| Header | functiondiscoveryapi.h |
| DLL | FunDisc.dll |