Condividi tramite


Funzione CreateClassEnumWmi

Restituisce un enumeratore per tutte le classi che soddisfano i criteri di selezione specificati.

Nota

Questa API è solo per uso interno. Non è destinata all'uso dal codice dello sviluppatore.

Sintassi

HRESULT CreateClassEnumWmi (
   [in] BSTR                    strSuperclass,
   [in] long                    lFlags,
   [in] IWbemContext*           pCtx,
   [out] IEnumWbemClassObject** ppEnum,
   [in] DWORD                   authLevel,
   [in] DWORD                   impLevel,
   [in] IWbemServices*          pCurrentNamespace,
   [in] BSTR                    strUser,
   [in] BSTR                    strPassword,
   [in] BSTR                    strAuthority
);

Parametri

strSuperclass
[in] Se non null o vuoto, specifica il nome di una classe padre. L'enumeratore restituisce solo sottoclassi di questa classe. Se è o vuoto ed lFlags è null WBEM_FLAG_SHALLOW, restituisce solo classi di primo livello (classi senza classe padre). Se è o vuoto ed lFlags è nullWBEM_FLAG_DEEP, restituisce tutte le classi nello spazio dei nomi.

lFlags
[in] Combinazione di flag che influiscono sul comportamento di questa funzione. I valori seguenti sono definiti nel file di intestazione WbemCli.h oppure è possibile definirli come costanti nel codice:

Costante Valore Descrizione
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 Se impostata, la funzione recupera i qualificatori modificati archiviati nello spazio dei nomi localizzato delle impostazioni locali della connessione corrente.
In caso contrario, la funzione recupera solo i qualificatori archiviati nello spazio dei nomi immediato.
WBEM_FLAG_DEEP 0 L'enumerazione include tutte le sottoclassi nella gerarchia, ma non questa classe.
WBEM_FLAG_SHALLOW 1 L'enumerazione include solo istanze pure di questa classe ed esclude tutte le istanze di sottoclassi che forniscono proprietà non trovate in questa classe.
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 Il flag causa una chiamata semisynchronous.
WBEM_FLAG_FORWARD_ONLY 0x20 La funzione restituisce un enumeratore solo forward. In genere, gli enumeratori forward-only sono più veloci e usano meno memoria rispetto agli enumeratori convenzionali, ma non consentono chiamate a Clonare.
WBEM_FLAG_BIDIRECTIONAL 0 WMI mantiene i puntatori agli oggetti nell'enumerazione finché non vengono rilasciati.

I flag consigliati sono WBEM_FLAG_RETURN_IMMEDIATELY e WBEM_FLAG_FORWARD_ONLY per ottenere prestazioni ottimali.

pCtx
[in] In genere, questo valore è null. In caso contrario, è un puntatore a un'istanza IWbemContext che può essere usata dal provider che fornisce le classi richieste.

ppEnum
[out] Riceve il puntatore all'enumeratore.

authLevel
[in] Livello di autorizzazione.

impLevel
[in] Livello di rappresentazione.

pCurrentNamespace
[in] Puntatore a un oggetto IWbemServices che rappresenta lo spazio dei nomi corrente.

strUser
[in] Nome utente. Per altre informazioni, vedere la funzione ConnectServerWmi .

strPassword
[in] Password. Per altre informazioni, vedere la funzione ConnectServerWmi .

strAuthority
[in] Nome di dominio dell'utente. Per altre informazioni, vedere la funzione ConnectServerWmi .

Valore restituito

I valori seguenti restituiti da questa funzione sono definiti nel file di intestazione WbemCli.h oppure è possibile definirli come costanti nel codice:

Costante Valore Descrizione
WBEM_E_ACCESS_DENIED 0x80041003 L'utente non dispone dell'autorizzazione per visualizzare una o più classi che la funzione può restituire.
WBEM_E_FAILED 0x80041001 Si è verificato un errore non specificato.
WBEM_E_INVALID_CLASS 0x80041010 strSuperClass non esiste.
WBEM_E_INVALID_PARAMETER 0x80041008 Un parametro non è valido.
WBEM_E_OUT_OF_MEMORY 0x80041006 Memoria insufficiente per completare l’operazione.
WBEM_E_SHUTTING_DOWN 0x80041033 WMI probabilmente è stato arrestato e riavviato. Chiamare di nuovo ConnectServerWmi .
WBEM_E_TRANSPORT_FAILURE 0x80041015 Il collegamento rpc (Remote Procedure Call) tra il processo corrente e WMI non è riuscito.
WBEM_S_NO_ERROR 0 La chiamata alla funzione ha avuto esito positivo.

Commenti

Questa funzione esegue il wrapping di una chiamata al metodo IWbemServices::CreateClassEnum .

Se la chiamata alla funzione ha esito negativo, è possibile ottenere informazioni di errore aggiuntive chiamando la funzione GetErrorInfo .

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: WMINet_Utils.idl

Versioni di .NET Framework: Disponibile da 4.7.2

Vedi anche