Freigeben über


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

Syntax

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

Parameter

pszBaseClassName

Name der Basisklasse, für die die Liste zurückgegeben werden soll.

pRequester

Zeiger 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 );

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. Diese Funktion wird aufgerufen, um alle instance zurückzugeben, die von dem von pszClassName angegebenen Anbieter unterstützt werden.

pszNamespace

Namespace des durch pszClassName angegebenen Klassennamens. Wenn dieser Parameter NULL ist, 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.

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 GetAllDerivedInstancesAsynch-Methode führt fast die gleiche Funktion wie GetAllDerivedInstances aus. Anstatt jedoch ein beliebig 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.

Diese Methode entspricht semantisch der Abfrage SELECT * FROM pszBaseClassName.

Da der Rückruf an die Senke möglicherweise nicht auf der gleichen Authentifizierungsebene zurückgegeben wird, wie es für den Client erforderlich ist, wird empfohlen, die semisynchrone Kommunikation anstelle der asynchronen Kommunikation zu verwenden. Wenn Sie jedoch eine asynchrone Kommunikation benötigen, finden Sie weitere Informationen unter Aufrufen einer Methode.

Weitere Informationen zur semisynchronen Verwendung von Methoden finden Sie unter CWbemProviderGlue::GetAllDerivedInstances 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