IWbemClassObject ::Get, méthode (wbemcli.h)
La méthode IWbemClassObject ::Get récupère la valeur de propriété spécifiée, si elle existe. Cette méthode peut également retourner des propriétés système.
Syntaxe
HRESULT Get(
[in] LPCWSTR wszName,
[in] long lFlags,
[out] VARIANT *pVal,
[out, optional] CIMTYPE *pType,
[out, optional] long *plFlavor
);
Paramètres
[in] wszName
Nom de la propriété souhaitée. Il est traité en lecture seule.
[in] lFlags
Réservé. Ce paramètre doit être égal à 0 (zéro).
[out] pVal
En cas de réussite, ce paramètre se voit attribuer le type et la valeur corrects pour le qualificateur, et la fonction VariantInit est appelée sur pVal. Il incombe à l’appelant d’appeler VariantClear sur pVal lorsque la valeur n’est pas nécessaire. En cas d’erreur, la valeur vers laquelle pVal pointe n’est pas modifiée. Si une valeur pVal non initialisée est passée à la méthode, l’appelant doit case activée la valeur de retour de la méthode et appeler VariantClear uniquement lorsque la méthode réussit.
[out, optional] pType
Peut être NULL. S’il n’est pas NULL, il reçoit le type CIM de la propriété, c’est-à-dire l’une des constantes de type CIM, telles que CIM_SINT32, CIM_STRING, etc. Pour plus d’informations sur ces valeurs, consultez CIMTYPE_ENUMERATION. Cela indique la sémantique CIM de la valeur de propriété empaquetée dans VARIANT.
[out, optional] plFlavor
Peut être NULL. Si elle n’est pas NULL, la valeur LONG pointée vers reçoit des informations sur l’origine de la propriété. Pour plus d’informations, consultez Saveurs de qualificateur et WBEM_FLAVOR_TYPE.
WBEM_FLAVOR_ORIGIN_SYSTEM
La propriété est une propriété système standard.
WBEM_FLAVOR_ORIGIN_PROPAGATED
Pour les classes uniquement. La propriété a été héritée de la classe parente.
Pour les instances uniquement. La propriété est héritée de la classe parente, mais n’a pas été modifiée au niveau instance.
WBEM_FLAVOR_ORIGIN_LOCAL
Pour les classes uniquement. La propriété appartient à la classe enfant dérivée.
Pour les instances uniquement. La propriété est modifiée au niveau instance, c’est-à-dire qu’une valeur a été fournie ou qu’un qualificateur a été ajouté ou modifié.
Valeur retournée
Cette méthode retourne une valeur HRESULT qui indique l’état de l’appel de méthode. La liste suivante répertorie la valeur contenue dans un HRESULT. Pour connaître les valeurs HRESULT générales, consultez Codes d’erreur système.
Remarques
Si le type de la propriété est un chemin d’accès d’objet, une chaîne de date/heure ou un autre type spécial, les valeurs retournées dans le VARIANT ne contiennent pas suffisamment d’informations pour identifier le type vrai. Le paramètre pvtType out l’indique.
Pour obtenir la forme de chaîne du type CIM (Common Information Model) pour la propriété, le pointeur IWbemQualifierSet de la propriété doit être obtenu et le qualificateur Cimtype récupéré. Ce qualificateur est la forme de chaîne du type CIM, par exemple sint32 par rapport à CIM_SINT32, qui est une constante numérique.
Exemples
Pour obtenir une discussion étendue et un exemple de création de requêtes en C++ et WMI, consultez Création de requêtes WMI en C++ sur CodeProject.
L’exemple C++ suivant montre comment récupérer le nom de la classe CIM à partir d’un objet à l’aide de la propriété système __CLASS. Le code nécessite les #include instructions et références suivantes pour la compilation.#include <iostream>
using namespace std;
#include <wbemidl.h>
#pragma comment(lib, "wbemuuid.lib")
//Assumes that pObj is defined as a pointer
// to an IWbemClassObject object.
VARIANT v;
BSTR strClassProp = SysAllocString(L"__CLASS");
HRESULT hr;
hr = pObj->Get(strClassProp, 0, &v, 0, 0);
SysFreeString(strClassProp);
// check the HRESULT to see if the action succeeded.
if (SUCCEEDED(hr) && (V_VT(&v) == VT_BSTR))
{
wprintf(L"The class name is %s\n.", V_BSTR(&v));
}
else
{
wprintf(L"Error in getting specified object\n");
}
VariantClear(&v);
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | wbemcli.h (inclure Wbemidl.h) |
Bibliothèque | WbemUuid.lib |
DLL | CIMWin32.dll ; Esscli.dll ; Fastprox.dll ; FrameDyn.dll ; FrameDynOS.dll ; Krnlprov.dll ; Ncprov.dll ; Wbemcore.dll ; Wbemess.dll ; Wmipiprt.dll |