Metodo IWbemServices::CreateInstanceEnum (wbemcli.h)
Il metodo IWbemServices::CreateInstanceEnum crea un enumeratore che restituisce le istanze di una classe specificata in base ai criteri di selezione specificati dall'utente. Questo metodo supporta query WQL semplici; È possibile elaborare query più complesse usando il metodo IWbemServices::ExecQuery .
Sintassi
HRESULT CreateInstanceEnum(
[in] const BSTR strFilter,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
Parametri
[in] strFilter
BSTR valido contenente il nome della classe per cui sono desiderate le istanze. Questo parametro non può essere NULL.
[in] lFlags
I flag seguenti influiscono sul comportamento di questo metodo. Il valore consigliato 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 questa e tutte le sottoclassi nella gerarchia.
WBEM_FLAG_SHALLOW
Questo flag impone all'enumerazione di includere solo istanze pure di questa classe, escluse tutte le istanze di sottoclassi che forniscono proprietà non trovate in questa classe.
WBEM_FLAG_RETURN_IMMEDIATELY
Questo flag fa sì che si tratta di una chiamata semiincrona. Per altre informazioni, vedere Chiamata di un metodo.
WBEM_FLAG_FORWARD_ONLY
Questo flag determina la restituzione di un enumeratore forward-only. Gli enumeratori forward-only sono in genere molto più veloci e usano meno memoria rispetto agli enumeratori convenzionali, ma non consentono chiamate a Clone o Reset.
WBEM_FLAG_BIDIRECTIONAL
Questo flag fa sì che Gestione Windows mantenga i puntatori agli oggetti dell'enumerazione fino a quando il client non 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).
WBEM_FLAG_DIRECT_READ
Questo flag causa l'accesso diretto al provider per la classe specificata senza alcun riguardo alla relativa classe padre o sottoclassi.
[in] pCtx
In genere NULL. In caso contrario, si tratta di un puntatore a un oggetto IWbemContext che può essere utilizzato dal provider che fornisce le istanze richieste. I valori nell'oggetto contesto devono essere specificati nella documentazione relativa al provider in questione. Per altre informazioni su questo parametro, vedere Effettuare chiamate a WMI.
[out] ppEnum
Riceve il puntatore all'enumeratore, che ha un conteggio dei riferimenti positivo. Il chiamante deve chiamare IUnknown::Release sul puntatore dopo che non è più necessario.
Valore restituito
Questo metodo restituisce un valore HRESULT che indica lo stato della chiamata al metodo. L'elenco seguente elenca il valore contenuto in hrESULT.
In caso di errore, è possibile ottenere qualsiasi informazione disponibile dalla funzione COM GetErrorInfo.
I codici di errore specifici di COM possono anche essere restituiti se i problemi di rete causano la perdita della connessione remota a Gestione Windows.
Commenti
Non è un errore che l'enumeratore restituito abbia zero elementi.
Requisiti
Requisito | Valore |
---|---|
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 |