CreateClassEnumWmi, fonction
Retourne un énumérateur pour toutes les classes qui remplissent les critères de sélection spécifiés.
Notes
Cette API est destinée à un usage interne uniquement. Elle n’est pas destinée à être utilisée dans le code du développeur.
Syntaxe
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
);
Paramètres
strSuperclass
[in] S’il n’est pas null
ou vide, spécifie le nom d’une classe parente ; l’énumérateur retourne uniquement les sous-classes de cette classe. S’il est null
ou vide et si lFlags
est WBEM_FLAG_SHALLOW, retourne uniquement les classes de niveau supérieur (classes sans classe parente). S’il est null
ou vide et si lFlags
est WBEM_FLAG_DEEP
, retourne toutes les classes dans l’espace de noms.
lFlags
[in] Combinaison d’indicateurs qui affectent le comportement de cette fonction. Les valeurs suivantes sont définies dans le fichier d’en-tête WbemCli.h, ou vous pouvez les définir comme constantes dans votre code :
Constant | Valeur | Description |
---|---|---|
WBEM_FLAG_USE_AMENDED_QUALIFIERS |
0x20000 | Si une valeur est définie, la fonction récupère les qualificateurs modifiés qui sont stockés dans l’espace de noms localisé des paramètres régionaux de la connexion actuelle. Si aucune valeur n’est définie, la fonction récupère uniquement les qualificateurs qui sont stockés dans l’espace de noms immédiat. |
WBEM_FLAG_DEEP |
0 | L’énumération inclut toutes les sous-classes de la hiérarchie, mais non cette classe. |
WBEM_FLAG_SHALLOW |
1 | L’énumération inclut uniquement les instances pures de cette classe et exclut toutes les instances de sous-classes qui fournissent des propriétés introuvables dans cette classe. |
WBEM_FLAG_RETURN_IMMEDIATELY |
0x10 | L’indicateur provoque un appel semi-synchrone. |
WBEM_FLAG_FORWARD_ONLY |
0x20 | La fonction renvoie un énumérateur de type avant uniquement. En règle générale, les énumérateurs de ce type sont plus rapides et utilisent moins de mémoire que les énumérateurs conventionnels, mais ils ne permettent pas les appels à Clone. |
WBEM_FLAG_BIDIRECTIONAL |
0 | WMI conserve les pointeurs vers les objets de l’énumération jusqu’à ce qu’ils soient libérés. |
Pour des performances optimales, les indicateurs recommandés sont WBEM_FLAG_RETURN_IMMEDIATELY
et WBEM_FLAG_FORWARD_ONLY
.
pCtx
[in] En règle générale, cette valeur est null
. Sinon, il s’agit d’un pointeur vers une instance IWbemContext qui est utilisable par le fournisseur des classes demandées.
ppEnum
[out] Reçoit le pointeur de l’énumérateur.
authLevel
[in] Niveau d’autorisation.
impLevel
[in] Niveau d’emprunt d’identité.
pCurrentNamespace
[in] Pointeur vers un objet IWbemServices qui représente l’espace de noms actuel.
strUser
[in] Nom d’utilisateur. Pour plus d’informations, reportez-vous à la fonction ConnectServerWmi.
strPassword
[in] Mot de passe. Pour plus d’informations, reportez-vous à la fonction ConnectServerWmi.
strAuthority
[in] Nom de domaine de l’utilisateur. Pour plus d’informations, reportez-vous à la fonction ConnectServerWmi.
Valeur retournée
Les valeurs suivantes renvoyées par cette fonction sont définies dans le fichier d’en-tête WbemCli.h, ou vous pouvez les définir comme constantes dans votre code :
Constant | Valeur | Description |
---|---|---|
WBEM_E_ACCESS_DENIED |
0x80041003 | L’utilisateur n’est pas autorisé à afficher une ou plusieurs des classes que la fonction peut renvoyer. |
WBEM_E_FAILED |
0x80041001 | Une erreur inconnue s’est produite. |
WBEM_E_INVALID_CLASS |
0x80041010 | strSuperClass n’existe pas. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Un paramètre n'est pas valide. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | La mémoire n'est pas suffisante pour terminer cette opération. |
WBEM_E_SHUTTING_DOWN |
0x80041033 | WMI a probablement été arrêté et est en cours de redémarrage. Appelez de nouveau ConnectServerWmi. |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | Le lien d’appel de procédure distante (RPC) entre le processus actuel et WMI a échoué. |
WBEM_S_NO_ERROR |
0 | L’appel de fonction a abouti. |
Notes
Cette fonction wrappe un appel à la méthode IWbemServices::CreateClassEnum.
Si l’appel de fonction échoue, vous pouvez obtenir des informations supplémentaires sur l’erreur en appelant la fonction GetErrorInfo.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : WMINet_Utils.idl
Versions de .NET Framework : disponibles depuis la version 4.7.2