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.

Nota Non è un errore per l'enumeratore restituito per avere 0 (zero).
 

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

Vedi anche

IEnumWbemClassObject

Iwbemservices

IWbemServices::CreateClassEnumAsync

Recupero di un codice di errore