Metodo IWbemServices::CreateClassEnum (wbemcli.h)
Il metodo IWbemServices::CreateClassEnum restituisce un enumeratore per tutte le classi che soddisfano i criteri di selezione. Il chiamante deve usare l'enumeratore restituito per recuperare le definizioni di classe, chiamando IEnumWbemClassObject::Next per ottenere ogni classe o blocchi di classi. Termina chiamando IEnumWbemClassObject::Release.
Sintassi
HRESULT CreateClassEnum(
[in] const BSTR strSuperclass,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
Parametri
[in] strSuperclass
Se non NULL o vuoto, specifica un nome di classe padre. Vengono restituite solo le classi che sono sottoclassi di questa classe nell'enumeratore. Se è NULL o vuoto e lFlags è WBEM_FLAG_SHALLOW, vengono restituite solo le classi di primo livello ,ovvero le classi che non hanno una classe padre. Se è NULL o vuoto e lFlags è WBEM_FLAG_DEEP, vengono restituite tutte le classi all'interno dello spazio dei nomi.
[in] lFlags
I flag seguenti influiscono sul comportamento di questo metodo. Il valore suggerito per questo parametro è WBEM_FLAG_RETURN_IMMEDIATELY e WBEM_FLAG_FORWARD_ONLY per ottenere prestazioni ottimali.
WBEM_FLAG_USE_AMENDED_QUALIFIERS
Se questo flag è impostato, WMI recupera i qualificatori modificati archiviati nello spazio dei nomi localizzato delle impostazioni locali della connessione corrente. Se non è impostato, vengono recuperati solo i qualificatori archiviati nello spazio dei nomi immediato.
WBEM_FLAG_DEEP
Questo flag impone all'enumerazione di includere tutte le sottoclassi nella gerarchia, ma non questa classe.
WBEM_FLAG_SHALLOW
Questo flag impone all'enumerazione di includere solo istanze pure di questa classe, escluse tutte le istanze delle sottoclassi che forniscono proprietà non trovate in questa classe.
WBEM_FLAG_RETURN_IMMEDIATELY
Questo flag causa una chiamata semisynchrono. Per altre informazioni, vedere Chiamata di un metodo.
WBEM_FLAG_FORWARD_ONLY
Questo flag causa la restituzione di un enumeratore solo in avanti. In genere, gli enumeratori forward-only sono più veloci e usano meno memoria rispetto agli enumeratori convenzionali, ma non consentono chiamate a Clone o Reset.
WBEM_FLAG_BIDIRECTIONAL
Questo flag consente a WMI di conservare i puntatori agli oggetti dell'enumerazione fino a quando il client rilascia l'enumeratore. Poiché i puntatori a oggetti non vengono rilasciati immediatamente, questo metodo potrebbe non riuscire con un valore HRESULT di WBEM_E_OUT_OF_MEMORY se il client tenta di enumerare un numero elevato di oggetti. Questo flag è implicito per impostazione predefinita se si imposta il parametro lFlags su 0 (zero).
[in] pCtx
In genere NULL. In caso contrario, si tratta di un puntatore a un oggetto IWbemContext che può essere usato dal provider che fornisce le classi richieste. I valori nell'oggetto contesto devono essere specificati nella documentazione del provider. Per altre informazioni su questo parametro, vedere Creazione di chiamate a WMI.
[out] ppEnum
Riceve il puntatore all'enumeratore. L'oggetto restituito ha un numero di riferimenti positivo. Il chiamante deve chiamare Release sul puntatore quando non è più necessario.
Valore restituito
Questo metodo restituisce un HRESULT che indica lo stato di una chiamata al metodo. L'elenco seguente elenca il valore contenuto in un HRESULT.
In caso di errore, è possibile ottenere informazioni disponibili dalla funzione COM GetErrorInfo.
I codici di errore specifici di COM possono essere restituiti anche se i problemi di rete causano la perdita della connessione remota a Gestione Windows.
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | wbemcli.h (include Wbemidl.h) |
Libreria | Wbemuuid.lib |
DLL | Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll |