Freigeben über


CWbemProviderGlue::GetAllInstancesAsynch-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 GetAllInstancesAsynch-Methode ruft eine Liste von Instanzen ab, die von einer bestimmten Klasse zurückgegeben werden. Diese Methode ermöglicht es dem Anbieter, asynchron zu reagieren, indem er jeweils eine instance zurückgibt.

Syntax

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

Parameter

pszClassName

Name der Klasse, für die eine Liste von Instanzen zurückgegeben werden soll.

pRequester

Der Zeiger "This" für die Rückruffunktion, auf die von pCallback verwiesen wird.

pCallback

Zeiger auf eine statische Funktion mit diesem Prototyp:

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

Dabei ist Classname der Name einer Klasse, die von der Klasse Provider abgeleitet ist. Es handelt sich um eine instance dieser Klasse, bei der es sich um den von pRequester definierten Zeiger "this" handelt. Diese Funktion wird aufgerufen, um jede instance zurückzugeben, die vom anbieter unterstützt wird, der von pszClassName angegeben wird.

pszNamespace

Namespace des durch pszClassName angegebenen Anbieters. Dieser Parameter kann NULL sein, um den Standardnamespace anzugeben, der root\cimv2 ist.

pMethodContext

Zeiger auf den aktuellen Kontext. Ein Kontext muss 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 aus dem instance ab. Dieser Parameter darf nicht NULL sein.

pUserData

Zeiger auf benutzerdefinierte Daten, die an die Funktion übergeben werden, auf die von pCallback verwiesen wird.

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 fehlenden Arbeitsspeichers oder eines anderen HRESULT-Fehlercodes fehlgeschlagen ist.

Hinweise

Die GetAllInstancesAsynch-Methode führt fast die gleiche Funktion wie GetAllInstances aus. Anstatt jedoch ein willkürlich großes Array von Instanzen zurückzugeben, übergibt der Anbieter jedes Mal, wenn die instance von einem Anbieter abgerufen wird, eine instance an die von pCallback angegebene Funktion. Dadurch kann der Anbieter weniger Arbeitsspeicher verwenden und früher mit der Rückgabe von Instanzen an den Client beginnen.

Hinweis Da der Rückruf an die Senke möglicherweise nicht auf derselben Authentifizierungsebene zurückgegeben wird, wie es für den Client erforderlich ist, wird empfohlen, die semisynchrone anstelle der asynchronen Kommunikation zu verwenden. Weitere Informationen finden Sie unter Aufrufen einer Methode.
 
Diese Methode entspricht semantisch der Abfrage SELECT * FROM pszBaseClassName WHERE __Class = pszBaseClassName.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wbemglue.h (schließen Sie FwCommon.h ein)
Bibliothek FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll