Condividi tramite


Metodo CWbemProviderGlue::GetAllInstancesAsynch (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 GetAllInstancesAsynch recupera un elenco di istanze restituite da una classe specifica. Questo metodo consente al provider di rispondere in modo asincrono restituendo un'istanza alla volta.

Sintassi

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

Parametri

pszClassName

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

pRequester

Puntatore "This" 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 provider specificato da pszClassName. Questo parametro può essere NULL per indicare lo spazio dei nomi predefinito, ovvero 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 GetAllInstancesAsynch esegue quasi la stessa funzione di GetAllInstances. 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.

Nota Poiché il callback al sink potrebbe non essere restituito allo stesso livello di autenticazione richiesto dal client, è consigliabile usare la comunicazione semiincrona anziché la comunicazione asincrona. Per altre informazioni, vedere Chiamata di un metodo.
 
Questo metodo è semanticamente equivalente alla query SELECT * FROM pszBaseClassName WHERE __Class = pszBaseClassName.

Requisiti

Requisito Valore
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