Freigeben über


CFrameworkQuery::GetValuesForProp(LPCWSTR,CHStringArray&)-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,
  CHStringArray & achNames
);

Parameter

wszPropName

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

achNames

Name der Zieleigenschaft.

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 Einem Eigenschaftennamen 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 * FROMWin32_Directory

WO Laufwerk = "C:"

WBEM_S_NO_ERROR C:

SELECT * FROMWin32_Directory

WO Drive = "C:" OR FileSize = 256

WBEM_S_NO_ERROR Keine Ergebnisse; aszNames ist leer.

SELECT * FROMWin32_Directory

WO Drive = "C:" OR Drive = "D:"

WBEM_S_NO_ERROR C:, D:

SELECT * FROMWin32_Directory

WO Laufwerk <> "C:"

WBEM_S_NO_ERROR Keine Ergebnisse; aszNames ist leer.

SELECT * FROMWin32_Directory

WHEREPath = "\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 beispielsweise 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

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

Weitere Informationen

CFrameworkQuery

Provider::ExecQuery