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 |