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 |