Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
[Individuazione funzioni è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Può essere modificato o non disponibile nelle versioni successive.
Ottiene la raccolta specificata di istanze di funzione, in base alla categoria e alla sottocategoria.
Sintassi
HRESULT GetInstanceCollection(
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] BOOL fIncludeAllSubCategories,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Parametri
[in] pszCategory
Identificatore della categoria da enumerare. Vedere Definizioni di categoria.
[in] pszSubCategory
Identificatore della sottocategoria da enumerare. Vedere Definizioni sottocategorie. Questo parametro può essere NULL.
[in] fIncludeAllSubCategories
Se TRUE, questo metodo enumera in modo ricorsivo tutte le sottocategorie della categoria specificata in pszCategory, restituendo una raccolta contenente istanze di funzione da tutte le sottocategorie di pszCategory.
Se FALSE, questo metodo si limita a restituire istanze di funzione nella categoria specificata da pszCategory e la sottocategoria specificata da pszSubCategory.
[out] ppIFunctionInstanceCollection
Puntatore a un puntatore all'interfaccia IFunctionInstanceCollection che riceve l'insieme di istanze di istanza della funzione contenente le istanze di funzione richieste. La raccolta è vuota se non vengono trovate istanze di funzione idonee.
Valore restituito
I valori restituiti possibili includono, ma non sono limitati a, quanto segue.
| Codice/valore restituito | Descrizione |
|---|---|
|
Metodo completato correttamente. |
|
Il valore di pszCategory non è valido. Il valore restituito nel parametro ppIFunctionInstanceCollection è NULL. |
|
Il metodo non è in grado di allocare la memoria necessaria per eseguire questa operazione. |
|
Il valore di pszCategory o pszSubCategory è sconosciuto . |
|
La chiamata è stata eseguita per un provider che restituisce i risultati in modo asincrono. |
Commenti
Alcuni provider di individuazione delle funzioni restituiscono i risultati della query con l'interfaccia IFunctionDiscoveryNotification . GetInstanceCollection non trova istanze di funzione restituite in questo modo e avrà esito negativo con E_PENDING. È consigliabile che i client usino il metodo CreateInstanceQuery dell'interfaccia IFunctionDiscovery per trovare istanze di funzione per tali provider.
Se il metodo ha esito positivo ma non sono state trovate istanze di funzione corrispondenti ai parametri di query, S_OK viene restituito e ppFunctionInstanceCollection punta a una raccolta vuota (il metodo GetCount della raccolta restituisce 0).
Le query sottocategorie sono supportate solo per le categorie a livelli e per alcune categorie di provider. Provider del Registro di sistema, provider di associazione PnP-X e provider di pubblicazione supportano query sottocategorie. I provider personalizzati possono essere progettati in modo esplicito per supportare le query sottocategorie. Per altri provider, le raccolte di istanze di funzione possono essere filtrate usando vincoli di query. Per un elenco di vincoli di query, vedere Definizioni dei vincoli.
Esempio
Il codice seguente restituisce le istanze di funzione associate al provider SSDP nello spazio dei nomi Microsoft.Networking.Devices.
hr = spDisco->GetInstanceCollection(FCTN_CATEGORY_NETWORKDEVICES,
FCTN_SUBCAT_NETWORKDEVICES_SSDP,
FALSE,
&spFunctionInstanceCollection);
Vedere vincoli di interfaccia per IFunctionInstanceQuery per filtrare su più interfacce alla volta o per filtrare nei provider che non supportano query di sottocategoria.
Requisiti
| Client minimo supportato | Windows Vista [solo app desktop] |
| Server minimo supportato | Windows Server 2008 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Intestazione | functiondiscoveryapi.h |
| DLL | FunDisc.dll |