Metode IFunctionDiscovery::GetInstanceCollection (functiondiscoveryapi.h)

[Penemuan Fungsi tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya.]

Mendapatkan kumpulan instans fungsi yang ditentukan, berdasarkan kategori dan subkategori.

Sintaks

HRESULT GetInstanceCollection(
  [in]  const WCHAR                 *pszCategory,
  [in]  const WCHAR                 *pszSubCategory,
  [in]  BOOL                        fIncludeAllSubCategories,
  [out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);

Parameter

[in] pszCategory

Pengidentifikasi kategori yang akan dijumlahkan. Lihat Definisi Kategori.

[in] pszSubCategory

Pengidentifikasi subkategrasi yang akan dijumlahkan. Lihat Definisi Subkataan. Parameter ini bisa NULL.

[in] fIncludeAllSubCategories

Jika TRUE, metode ini secara rekursif menghitung semua subkategori kategori yang ditentukan dalam pszCategory, mengembalikan koleksi yang berisi instans fungsi dari semua subkategori pszCategory.

Jika FALSE, metode ini membatasi dirinya untuk mengembalikan instans fungsi dalam kategori yang ditentukan oleh pszCategory dan subkategori yang ditentukan oleh pszSubCategory.

[out] ppIFunctionInstanceCollection

Penunjuk ke penunjuk antarmuka IFunctionInstanceCollection yang menerima koleksi instans fungsi yang berisi instans fungsi yang diminta. Koleksi kosong jika tidak ada instans fungsi yang memenuhi syarat yang ditemukan.

Menampilkan nilai

Kemungkinan nilai yang dikembalikan termasuk, tetapi tidak terbatas pada, berikut ini.

Mengembalikan kode/nilai Deskripsi
S_OK
Metode berhasil diselesaikan.
E_INVALIDARG
Nilai pszCategory tidak valid. Nilai yang dikembalikan dalam parameter ppIFunctionInstanceCollection adalah NULL.
E_OUTOFMEMORY
Metode tidak dapat mengalokasikan memori yang diperlukan untuk melakukan operasi ini.
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
Nilai pszCategory atau pszSubCategory tidak diketahui.
E_PENDING
Panggilan dijalankan untuk penyedia yang mengembalikan hasil secara asinkron.

Keterangan

Beberapa penyedia penemuan fungsi mengembalikan hasil kueri mereka dengan antarmuka IFunctionDiscoveryNotification . GetInstanceCollection tidak menemukan instans fungsi yang dikembalikan dengan cara ini dan akan gagal dengan E_PENDING. Disarankan agar klien menggunakan metode CreateInstanceQuery dari antarmuka IFunctionDiscovery untuk menemukan instans fungsi untuk penyedia tersebut.

Jika metode berhasil tetapi tidak ada instans fungsi yang ditemukan yang cocok dengan parameter kueri, maka S_OK dikembalikan dan ppFunctionInstanceCollection menunjuk ke koleksi kosong (metode GetCount koleksi mengembalikan 0).

Kueri subkataan hanya didukung untuk kategori berlapis dan beberapa kategori penyedia. Penyedia Registri, penyedia asosiasi PnP-X, dan penyedia publikasi mendukung kueri subkategori. Penyedia kustom dapat dirancang secara eksplisit untuk mendukung kueri subkataan. Untuk penyedia lain, koleksi instans fungsi dapat difilter menggunakan batasan kueri. Untuk daftar batasan kueri, lihat Definisi Batasan.

Contoh

Kode berikut mengembalikan instans fungsi yang terkait dengan penyedia SSDP di namespace Microsoft.Networking.Devices.

hr = spDisco->GetInstanceCollection(FCTN_CATEGORY_NETWORKDEVICES,
                                   FCTN_SUBCAT_NETWORKDEVICES_SSDP, 
                                   FALSE, 
                                   &spFunctionInstanceCollection);


Lihat batasan antarmuka pada IFunctionInstanceQuery untuk memfilter beberapa antarmuka pada satu waktu atau untuk memfilter penyedia yang tidak mendukung kueri subkataan.

Persyaratan

   
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

Lihat juga

IFunctionDiscovery