Поделиться через


Метод 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

См. также раздел

CFrameworkQuery

Provider::ExecQuery