Condividi tramite


Metodo CWbemProviderGlue::GetAllDerivedInstancesAsynch (wbemglue.h)

[La classe CWbemProviderGlue fa parte di WMI Provider Framework, che è ora considerata in stato finale e non saranno disponibili ulteriori sviluppi, miglioramenti o aggiornamenti per problemi non correlati alla sicurezza che interessano queste librerie. Le API MI devono essere usate per tutti i nuovi sviluppi.

Il metodo GetAllDerivedInstancesAsynch recupera un elenco di istanze supportate da un provider specifico e derivato da una determinata classe di base. Questo metodo consente al provider di rispondere in modo asincrono restituendo un'istanza alla volta.

Sintassi

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

Parametri

pszBaseClassName

Nome della classe di base per cui deve essere restituito l'elenco.

pRequester

Puntatore per la funzione di callback a cui punta pCallback.

pCallback

Puntatore a una funzione statica con questo prototipo.

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

dove Classname è il nome di una classe derivata dal provider di classi. È un'istanza di questa classe che è il puntatore "this" definito da pRequester. Questa funzione viene chiamata per restituire ogni istanza supportata dal provider specificato da pszClassName.

pszNamespace

Spazio dei nomi del nome della classe specificato da pszClassName. Quando questo parametro è NULL, viene usato lo spazio dei nomi predefinito root\cimv2.

pMethodContext

Puntatore al contesto corrente. È necessario fornire un contesto per evitare deadlock. Usare il contesto passato al provider da Provider::EnumerateInstances o Provider::ExecQuery oppure ottenerlo dall'istanza usando CInstance::GetMethodContext. Questo parametro non deve essere NULL.

pUserData

Puntatore a dati definiti dall'utente passati alla funzione a cui punta pCallback.

Valore restituito

Il metodo restituisce WBEM_S_NO_ERROR se l'operazione ha avuto esito positivo, WBEM_E_OUT_OF_MEMORY se l'operazione non è riuscita a causa della mancanza di memoria o di qualsiasi altro codice di errore HRESULT.

Commenti

Il metodo GetAllDerivedInstancesAsynch esegue quasi la stessa funzione di GetAllDerivedInstances. Tuttavia, invece di restituire una matrice arbitrariamente grande di istanze, il provider passa un'istanza alla funzione specificata da pCallBack ogni volta che l'istanza viene recuperata da un provider. In questo modo il provider può usare meno memoria e iniziare a restituire le istanze al client prima.

Questo metodo è semanticamente equivalente alla query SELECT * FROM pszBaseClassName.

Poiché il callback al sink potrebbe non essere restituito allo stesso livello di autenticazione richiesto dal client, è consigliabile usare la comunicazione semiincrona anziché asincrona. Se, tuttavia, è necessaria la comunicazione asincrona, vedere Chiamata di un metodo.

Per altre informazioni sull'uso semisynchronously dei metodi, vedere CWbemProviderGlue::GetAllDerivedInstances e Chiamata di un metodo.

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione wbemglue.h (include FwCommon.h)
Libreria FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll