Partager via


CreateInstanceEnumWmi, fonction

Retourne un énumérateur qui retourne les instances d’une classe spécifiée remplissant 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 CreateInstanceEnumWmi (
   [in] BSTR                    strFilter,
   [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

strFilter
[in] Nom de la classe pour laquelle les instances sont souhaitées. Ce paramètre ne peut pas être null.

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 ceci et toutes les sous-classes de la hiérarchie.
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 peut être utilisée 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’a pas l’autorisation de mettre à jour une instance de la classe spécifiée.
WBEM_E_FAILED 0x80041001 Une erreur inconnue s’est produite.
WBEM_E_INVALID_CLASS 0x80041010 strFilter 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.

Notez que l’énumérateur retourné peut ne contenir aucun élément.

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

Voir aussi