Метод CFrameworkQuery::GetValuesForProp(LPCWSTR,std.vector<_bstr_t>&) (frquery.h)
[Класс CFrameworkQuery является частью платформы поставщика WMI, которая в настоящее время рассматривается в окончательном состоянии, и никакие дальнейшие разработки, улучшения или обновления не будут доступны для проблем, не связанных с безопасностью, влияющих на эти библиотеки. API mi mi следует использовать для всех новых разработок.]
Метод GetValuesForProp возвращает все значения для определенного свойства, созданные этим свойством, как оно отображается в запросе.
Например, вызов GetValuesForProp(L"Name", sa) возвращает массив sa, который содержит все значения Name, которые требуют отправки экземпляров обратно для удовлетворения запроса. Если sa содержит {"a","b"}, то для полного удовлетворения запроса необходимо отправить все экземпляры, где "Name=a", а также все экземпляры, в которых "Name=b" должны быть отправлены обратно.
Если ограничения для name недостаточно ограничены, возвращается пустой массив sa .
Синтаксис
HRESULT GetValuesForProp(
LPCWSTR wszPropName,
std::vector<_bstr_t>& vectorNames
);
Параметры
wszPropName
Имя целевого свойства.
vectorNames
Массив значений для свойства, указанного wszPropName.
Возвращаемое значение
Этот метод возвращает WBEM_S_NO_ERROR при успешном выполнении и WBEM_E_FAILED или любой другой код ошибки HRESULT при сбое.
Комментарии
Если задано имя свойства, этот метод возвращает все значения результатов в контейнере CHStringArray или векторе. Контейнер векторов содержит _bstr_t объектов, содержащих результирующих значений.
Например, в следующем списке перечислены значения, возвращаемые GetValuesForProp для различных запросов при вызове с wszPropName , для параметра "Диск".
Запрос | Возвращаемое значение | Результат |
---|---|---|
SELECT * FROM Win32_Directory
WHERE Drive = "C:" |
WBEM_S_NO_ERROR | В. |
SELECT * FROM Win32_Directory
WHERE Drive = "C:" OR FileSize = 256 |
WBEM_S_NO_ERROR | Нет результатов; AszNames пуст. |
SELECT * FROM Win32_Directory
WHERE Drive = "C:" OR Drive = "D:" |
WBEM_S_NO_ERROR | C:, D: |
SELECT * FROM Win32_Directory
Where Drive <> "C:" |
WBEM_S_NO_ERROR | Нет результатов; AszNames пуст. |
SELECT * FROM Win32_Directory
WHERE Path = "\DOS" |
WBEM_S_NO_ERROR | Нет результатов; AszNames пуст. |
Метод GetValuesForProp поддерживает только строковые типы.
Следующий запрос, за которым следует вызов GetValuesForProp("PropInt", values), возвращает WBEM_E_INVALID_QUERY , а GetValuesForProp("PropStr", values) возвращает S_OK.
SELECT * FROM Test WHERE PropInt = 32 AND PropStr = "a"
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | frquery.h (включая FwCommon.h) |
Библиотека | FrameDyn.lib |
DLL | FrameDynOS.dll; FrameDyn.dll |