Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Die Funktionsermittlung ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]
Ruft die angegebene Auflistung von Funktionsinstanzen basierend auf Kategorie und Unterkategorie ab.
Syntax
HRESULT GetInstanceCollection(
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] BOOL fIncludeAllSubCategories,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Parameter
[in] pszCategory
Der Bezeichner der aufzuzählenden Kategorie. Weitere Informationen finden Sie unter Kategoriedefinitionen.
[in] pszSubCategory
Der Bezeichner der zu enumerierten Unterkategorie. Weitere Informationen finden Sie unter Unterkategoriedefinitionen. Dieser Parameter kann NULL sein.
[in] fIncludeAllSubCategories
Wenn TRUE, listet diese Methode rekursiv alle Unterkategorien der in pszCategory angegebenen Kategorie auf und gibt eine Auflistung zurück, die Funktionsinstanzen aus allen Unterkategorien von pszCategory enthält.
Wenn FALSE, beschränkt sich diese Methode auf die Rückgabe von Funktionsinstanzen in der kategorie, die von pszCategory und der von pszSubCategory angegebenen Unterkategorie angegeben wird.
[out] ppIFunctionInstanceCollection
Ein Zeiger auf einen IFunctionInstanceCollection-Schnittstellenzeiger, der die Funktion instance Auflistung empfängt, die die angeforderten Funktionsinstanzen enthält. Die Auflistung ist leer, wenn keine qualifizierenden Funktionsinstanzen gefunden werden.
Rückgabewert
Mögliche Rückgabewerte sind u. a. die folgenden:
| Rückgabecode/-wert | BESCHREIBUNG |
|---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Der Wert von pszCategory ist ungültig. Der im ppIFunctionInstanceCollection-Parameter zurückgegebene Wert ist NULL. |
|
Die -Methode kann den für diesen Vorgang erforderlichen Arbeitsspeicher nicht zuordnen. |
|
Der Wert von pszCategory oder pszSubCategory ist unbekannt. |
|
Der Aufruf wurde für einen Anbieter ausgeführt, der asynchron Ergebnisse zurückgibt. |
Hinweise
Einige Funktionsermittlungsanbieter geben ihre Abfrageergebnisse mit der IFunctionDiscoveryNotification-Schnittstelle zurück. GetInstanceCollection findet keine Funktionsinstanzen, die auf diese Weise zurückgegeben werden, und schlägt mit E_PENDING fehl. Es wird empfohlen, dass Clients die CreateInstanceQuery-Methode der IFunctionDiscovery-Schnittstelle verwenden, um Funktionsinstanzen für solche Anbieter zu finden.
Wenn die Methode erfolgreich ist, aber keine Funktionsinstanzen gefunden wurden, die den Abfrageparametern entsprechen, wird S_OK zurückgegeben, und ppFunctionInstanceCollection verweist auf eine leere Auflistung (die GetCount-Methode der Auflistung gibt 0 zurück).
Unterkategorieabfragen werden nur für mehrstufige Kategorien und einige Anbieterkategorien unterstützt. Der Registrierungsanbieter, der PnP-X-Zuordnungsanbieter und der Veröffentlichungsanbieter unterstützen Unterkategorieabfragen. Benutzerdefinierte Anbieter können explizit für die Unterstützung von Unterkategorieabfragen entworfen werden. Bei anderen Anbietern können Funktions- instance-Auflistungen mithilfe von Abfrageeinschränkungen gefiltert werden. Eine Liste der Abfrageeinschränkungen finden Sie unter Einschränkungsdefinitionen.
Beispiele
Der folgende Code gibt die Funktionsinstanzen zurück, die dem SSDP-Anbieter im Microsoft.Networking.Devices-Namespace zugeordnet sind.
hr = spDisco->GetInstanceCollection(FCTN_CATEGORY_NETWORKDEVICES,
FCTN_SUBCAT_NETWORKDEVICES_SSDP,
FALSE,
&spFunctionInstanceCollection);
Informationen zum gleichzeitigen Filtern nach mehreren Schnittstellen oder zum Filtern nach Anbietern, die keine Unterkategorieabfragen unterstützen, finden Sie unter Schnittstelleneinschränkungen für IFunctionInstanceQuery .
Anforderungen
| Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
| Zielplattform | Windows |
| Kopfzeile | functiondiscoveryapi.h |
| DLL | FunDisc.dll |