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.
[Funktionsermittlung ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]
Ruft eine Auflistung von Funktionsinstanzen ab, die die angegebenen Einschränkungen erfüllen.
Syntax
HRESULT Query(
[in] IFunctionDiscoveryProviderQuery *pIFunctionDiscoveryProviderQuery,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Parameter
[in] pIFunctionDiscoveryProviderQuery
Ein Zeiger auf eine IFunctionDiscoveryProviderQuery-Schnittstelle , die Parameter enthält, die die Abfragekriterien definieren.
[out] ppIFunctionInstanceCollection
Ein Zeiger auf eine IFunctionInstanceCollection-Schnittstelle , die der Anbieter verwenden sollte, um Funktionsinstanzen synchron als Reaktion auf die angegebene Abfrage zurückzugeben.
Wenn Sie die Query-Methode implementieren, können Sie diesen Parameter auf NULL festlegen, wenn Ihr Anbieter Benachrichtigungen unterstützt. Das heißt, Ihr Anbieter gibt Ergebnisse asynchron zurück. Asynchrone Ergebnisse sollten mithilfe der IFunctionDiscoveryNotification-Schnittstelle zurückgegeben werden, die an die Initialize-Methode des Anbieters übergeben wird.
Wenn die Clientanwendung keine Benachrichtigungen implementiert hat, wird möglicherweise ein NULL-Parameter übergeben.
Rückgabewert
Mögliche Rückgabewerte sind unter anderem folgendes:
| Rückgabecode | BESCHREIBUNG |
|---|---|
|
Die Methode wurde erfolgreich abgeschlossen, und die Ergebnisse werden synchron zurückgegeben. |
|
Der pIFunctionDiscoveryProviderQuery-Parameter ist NULL. |
|
Die Methode wurde erfolgreich abgeschlossen, und die Ergebnisse werden asynchron zurückgegeben. |
Hinweise
Eine aktive Abfrage wird von der Funktionsermittlung mit einem Aufruf der EndQuery-Methode beendet. Beachten Sie, dass EndQuery nur aufgerufen wird, wenn der Client eine IFunctionDiscoveryNotification-Schnittstelle für die Abfrage angegeben hat. Wenn keine IFunctionDiscoveryNotification bereitgestellt wurde, muss die Abfrage vom Anbieter als beendet betrachtet werden, sobald der Abfrageaufruf abgeschlossen ist.
Ein Client kann eine Abfrage jederzeit erneut ausführen, nachdem der vorherige Abfrageaufruf zurückgegeben wurde. Die Implementierung von Query muss in der Lage sein, eine IFunctionInstanceCollection für die neue Abfrage zurückzugeben. EndQuery wird nur vor einem nachfolgenden Abfrageaufruf aufgerufen, wenn ein Client eine IFunctionDiscoveryNotification-Schnittstelle übergeben hat, die an die Initialize-Methode des Anbieters übergeben wurde.
Wenn QueryE_PENDING zurückgibt, muss der Anbieter die OnEvent-Methode der IFunctionDiscoveryNotification-Schnittstelle mit FD_EVENTID_SEARCHCOMPLETE aufrufen, um anzugeben, dass die Enumeration der Ergebnisse abgeschlossen ist. Fehler beim Senden des FD_EVENTID_SEARCHCOMPLETE-Ereignisses können dazu führen, dass Clients auf unbestimmte Zeit hängen
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
| Zielplattform | Windows |
| Kopfzeile | functiondiscoveryprovider.h |