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 |