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 |
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 |