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

Vedi anche

Iwbemservices

IWbemServices::CreateInstanceEnumAsync

Recupero di un codice di errore