Freigeben über


IFunctionInstanceQuery::Execute-Methode (functiondiscoveryapi.h)

[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
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
Der ppIFunctionInstance-Parameter ist NULL.
E_OUTOFMEMORY
Die -Methode kann den für diesen Vorgang erforderlichen Arbeitsspeicher nicht zuordnen.
E_PENDING
Die von einem Anbieter zurückgegebenen Ergebnisse werden über eine asynchrone Benachrichtigung gesendet.
HRESULT_FROM_WIN32(ERROR_OBJECT_NOT_FOUND)
0x800710d8
Die Funktion instance, die durch die angegebene ID dargestellt wird, ist auf diesem Computer nicht vorhanden.
HRESULT_FROM_WIN32(ERROR_KEY_DELETED)
0x800703fa
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.
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
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:

Hinweise

Diese Methode muss vom Clientprogramm aufgerufen werden, um Daten aus dem Abfrageobjekt abzurufen. Wenn diese Methode aufgerufen wird, führt sie Folgendes aus:

  1. Ruft die funktion instance ab.
  2. Initiiert den Updatebenachrichtigungsmechanismus, wenn die Adresse der IFunctionDiscoveryNotification-Rückrufroutine des Clientprogramms für IFunctionDiscovery::CreateInstanceQuery bereitgestellt wird.
Funktionsermittlungsnetzwerkanbieter geben Funktionsinstanzen nur über die IFunctionDiscoveryNotification-Schnittstelle zurück. Sie geben keine Funktionsinstanzen direkt zurück, wenn diese Methode aufgerufen wird. Stattdessen initiiert Execute einfach einen vollständig asynchronen Abrufvorgang und gibt E_PENDING zurück, um anzugeben, dass die Ergebnisse asynchron zurückgegeben werden. Benachrichtigungen müssen verwendet werden, um Funktionsinstanzen von Funktionsermittlungsnetzwerkanbietern abzurufen.

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

Weitere Informationen

Funktionsermittlungsabfragen

IFunctionInstanceQuery