Freigeben über


CFrameworkQuery::GetValuesForProp(LPCWSTR,std.vector<_bstr_t>&)-Methode (frquery.h)

[Die Klasse CFrameworkQuery ist Teil des WMI-Provider-Frameworks, das nun als endgültig betrachtet wird, und es sind keine weiteren Entwicklungen, Verbesserungen oder Updates für nicht sicherheitsrelevante Probleme verfügbar, die diese Bibliotheken betreffen. Die MI-APIs sollten für alle Neuentwicklungen verwendet werden.]

Die Methode GetValuesForProp gibt alle Werte für eine bestimmte Eigenschaft zurück, die von dieser Eigenschaft generiert werden, wie sie in der Abfrage angezeigt wird.

Beispielsweise gibt ein Aufruf von GetValuesForProp(L"Name", sa) das Array sa zurück, das alle Werte von "Name" enthält, für die Instanzen zurückgesendet werden müssen, um die Abfrage zu erfüllen. Wenn sa {"a","b"} enthält, dann müssen alle Instanzen, in denen "Name=a" sowie alle Instanzen, in denen "Name=b" zurückgesendet werden muss, um die Abfrage vollständig zu erfüllen.

Wenn die Einschränkungen für "Name" nicht ausreichend eingeschränkt sind, wird ein leeres Array sa zurückgegeben.

Syntax

HRESULT GetValuesForProp(
  LPCWSTR               wszPropName,
  std::vector<_bstr_t>& vectorNames
);

Parameter

wszPropName

Name der Zieleigenschaft.

vectorNames

Array von Werten für die von wszPropName angegebene Eigenschaft.

Rückgabewert

Diese Methode gibt WBEM_S_NO_ERROR bei Erfolg und WBEM_E_FAILED oder einen anderen HRESULT-Fehlercode bei Einem Fehler zurück.

Hinweise

Bei Angabe eines Eigenschaftsnamens gibt diese Methode alle Ergebniswerte in einem CHStringArray - oder Vektorcontainer zurück. Der Vektorcontainer enthält _bstr_t-Objekte , die die Ergebniswerte enthalten.

Die folgende Liste listet beispielsweise die Werte auf, die von GetValuesForProp für eine Vielzahl von Abfragen zurückgegeben werden, wenn wszPropName auf "Drive" festgelegt ist.

Abfrage Rückgabewert Ergebnis
SELECT * FROM Win32_Directory

WHERE Drive = "C:"

WBEM_S_NO_ERROR C:
SELECT * FROM Win32_Directory

WHERE Drive = "C:" OR FileSize = 256

WBEM_S_NO_ERROR Keine Ergebnisse; aszNames ist leer.
SELECT * FROM Win32_Directory

WHERE Drive = "C:" OR Drive = "D:"

WBEM_S_NO_ERROR C:, D:
SELECT * FROM Win32_Directory

WHERE-Laufwerk <> "C:"

WBEM_S_NO_ERROR Keine Ergebnisse; aszNames ist leer.
SELECT * FROM Win32_Directory

WHERE Path = "\DOS"

WBEM_S_NO_ERROR Keine Ergebnisse; aszNames ist leer.
 

Die GetValuesForProp-Methode unterstützt nur Zeichenfolgentypen.

Die folgende Abfrage, gefolgt von einem Aufruf von GetValuesForProp("PropInt", values), gibt WBEM_E_INVALID_QUERY zurück, während GetValuesForProp("PropStr", values) S_OK zurückgibt.

SELECT * FROM Test WHERE PropInt = 32 AND PropStr = "a"

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile frquery.h (einschließlich FwCommon.h)
Bibliothek FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll

Weitere Informationen

CFrameworkQuery

Anbieter::ExecQuery