Freigeben über


CWbemProviderGlue::GetInstancesByQueryAsynch-Methode (wbemglue.h)

[Die CWbemProviderGlue-Klasse ist Teil des WMI-Provider-Frameworks, das nun als endgültig betrachtet wird, und werden keine weiteren Entwicklungen, Verbesserungen oder Updates für nicht sicherheitsrelevante Probleme verfügbar sein, die diese Bibliotheken betreffen. Die MI-APIs sollten für alle Neuentwicklungen verwendet werden.]

Die GetInstancesByQueryAsynch-Methode ruft eine Liste von Instanzen ab, die von einem bestimmten Anbieter unterstützt werden und einer bestimmten Abfrage entsprechen. Diese Methode ermöglicht es dem Anbieter, asynchron zu reagieren, indem er jeweils eine instance zurückgibt.

Syntax

HRESULT GetInstancesByQueryAsynch(
  LPCWSTR                    query,
  Provider                   *pRequester,
  LPProviderInstanceCallback pCallback,
  LPCWSTR                    pszNamespace,
  MethodContext              *pMethodContext,
  void                       *pUserData
);

Parameter

query

Auszuführende Abfrage.

pRequester

Zeiger auf den instance der Klasse, die vom Frameworkanbieter bereitgestellt wird. Dieser "this"-Zeiger wird an die pCallback-Funktion übergeben, falls die Rückruffunktion dies erfordert.

pCallback

Zeiger auf eine statische Funktion mit diesem Prototyp.

static HRESULT WINAPI Classname::FunctionName(Provider *pProvider,
                                              CInstance *pInstance,
                                              MethodContext *pMethodContext,
                                              void *pUserData );

wobei Classname der Name einer Klasse ist, die von der Klasse Provider abgeleitet ist. Es ist ein instance dieser Klasse, bei dem es sich um den von pRequester definierten "this"-Zeiger handelt.

pszNamespace

Namespace für Abfrage. Bei NULL wird der Standardnamespace root\cimv2 verwendet.

pMethodContext

Zeiger auf den aktuellen Kontext. Es muss ein Kontext bereitgestellt werden, um Deadlocks zu verhindern. Verwenden Sie entweder den Kontext, der von Provider::EnumerateInstances oder Provider::ExecQuery an den Anbieter übergeben wird, oder rufen Sie ihn mithilfe von CInstance::GetMethodContext von der instance ab. Dieser Parameter darf nicht NULL sein.

pUserData

Zeiger auf benutzerdefinierte Daten, die an die Funktion übergeben werden, auf die pCallback verweist. Bei NULL sind keine benutzerdefinierten Daten vorhanden.

Rückgabewert

Die Methode gibt WBEM_S_NO_ERROR zurück, wenn der Vorgang erfolgreich war, WBEM_E_OUT_OF_MEMORY , wenn der Vorgang aufgrund von Arbeitsspeichermangel oder einem anderen HRESULT-Fehlercode fehlgeschlagen ist.

Hinweise

Die GetInstancesByQueryAsynch-Methode ermöglicht Frameworkanbietern den Zugriff auf Daten von anderen Anbietern, ohne einen WMI-API-Aufruf ausführen zu müssen. Frameworkanbieter übergeben eine Abfrage an GetInstancesByQueryAsynch, die die entsprechenden Instanzen zurückgibt.

Geben Sie aus Leistungsgründen beim Aufrufen dieser Funktion nur die eigenschaften an, die Sie benötigen (geben Sie z. B. SELECT-Name anstelle von SELECT*) an.

Da der Rückruf an die Senke möglicherweise nicht auf der gleichen Authentifizierungsebene zurückgegeben wird, die der Client benötigt, wird empfohlen, die semisynchrone Kommunikation anstelle einer asynchronen Kommunikation zu verwenden. Informationen zur asynchronen Kommunikation finden Sie unter Aufrufen einer Methode.

Weitere Informationen zur semisynchronen Verwendung von Methoden finden Sie unter CWbemProviderGlue::GetInstancesByQuery und Aufrufen einer Methode.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wbemglue.h (einschließlich FwCommon.h)
Bibliothek FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll