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.]
Führt die von IFunctionDiscovery::CreateInstanceQuery definierte Abfrage aus.
Syntax
HRESULT Execute(
[out] IFunctionInstance **ppIFunctionInstance
);
Parameter
[out] ppIFunctionInstance
Ein Zeiger auf einen IFunctionInstance-Schnittstellenzeiger, der die angeforderte Funktion instance empfängt.
Rückgabewert
Mögliche Rückgabewerte sind u. a. die folgenden:
| Rückgabecode/-wert | BESCHREIBUNG |
|---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Der ppIFunctionInstance-Parameter ist NULL. |
|
Die -Methode kann den für diesen Vorgang erforderlichen Arbeitsspeicher nicht zuordnen. |
|
Die von einem Anbieter zurückgegebenen Ergebnisse werden über eine asynchrone Benachrichtigung gesendet. |
|
Die Funktion instance, die durch die angegebene ID dargestellt wird, ist auf diesem Computer nicht vorhanden. |
|
Die Funktion instance konnte nicht zurückgegeben werden, da der Schlüssel, der der Funktion instance entspricht, von einem anderen Prozess gelöscht wurde. Dieser Fehler wird vom Registrierungsanbieter zurückgegeben, wenn ein Schlüssel während der Abfrageverarbeitung gelöscht wird. |
|
Die Funktion instance konnte nicht zurückgegeben werden, da der Schlüssel, der der Funktion entspricht, instance nicht gefunden wurde. Dieser Fehler wird vom Registrierungsanbieter zurückgegeben, wenn der Anbieter keine übereinstimmenden Instanzen für eine instance Abfrage finden konnte. |
Eine vordefinierte Abfrage ist eine Abfrage einer mehrstufigen Kategorie. Wenn eine vordefinierte Abfrage ausgeführt wird, gibt jeder Anbieter, der eine Funktion zurückgibt, instance auch einen HRESULT-Wert zurück. Die HRESULT-Werte des Anbieters werden aggregiert, und der von der Execute-Methode zurückgegebene Wert spiegelt diese aggregierten Ergebnisse wider. Die Ergebnisse werden wie folgt aggregiert:
- Wenn alle Anbieter S_OK zurückgeben, gibt Execute S_OK zurück.
- Wenn mindestens ein Anbieter E_PENDING zurückgibt und alle anderen Anbieter entweder S_OK oder E_PENDING zurückgeben, gibt Execute E_PENDING zurück.
- Wenn alle Anbieter einen Fehlerwert zurückgeben (d. h. einen anderen Wert als S_OK oder E_PENDING), gibt Execute den Fehlerwert zurück, der vom zuletzt abgefragten Netzwerkanbieter zurückgegeben wurde. Wenn außerdem die IFunctionDiscoveryNotification-Rückrufroutine des Clients für IFunctionDiscovery::CreateInstanceCollectionQuery bereitgestellt wurde, wird für jeden Anbieter eine OnError-Benachrichtigung gesendet. Jede OnError-Benachrichtigung enthält das vom Anbieter zurückgegebene HRESULT.
- Wenn mindestens ein Anbieter einen Fehlerwert zurückgibt und alle anderen Anbieter S_OK zurückgeben, gibt Execute S_OK zurück. OnError-Benachrichtigungen werden wie oben beschrieben gesendet.
- Wenn mindestens ein Anbieter einen Fehlerwert und mindestens ein Anbieter E_PENDING zurückgibt, gibt Execute E_PENDING zurück. OnError-Benachrichtigungen werden wie oben beschrieben gesendet.
Hinweise
Diese Methode muss vom Clientprogramm aufgerufen werden, um Daten aus dem Abfrageobjekt abzurufen. Wenn diese Methode aufgerufen wird, führt sie Folgendes aus:
- Ruft die funktion instance ab.
- Initiiert den Updatebenachrichtigungsmechanismus, wenn die Adresse der IFunctionDiscoveryNotification-Rückrufroutine des Clientprogramms für IFunctionDiscovery::CreateInstanceQuery bereitgestellt wird.
Wenn Execute für dasselbe Abfrageobjekt zweimal aufgerufen wird, wird die erste Abfrage beendet, bevor die zweite Abfrage ausgeführt wird.
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 | functiondiscoveryapi.h |
| DLL | FunDisc.dll |