Compartilhar via


Método CFrameworkQuery::GetValuesForProp(LPCWSTR,CHStringArray&) (frquery.h)

[A classe CFrameworkQuery faz parte do WMI Provider Framework que agora é considerado em estado final e nenhum desenvolvimento, melhoria ou atualização adicional estará disponível para problemas não relacionados à segurança que afetarem essas bibliotecas. As APIs de MI devem ser usadas em todos os novos desenvolvimentos.]

O método GetValuesForProp retorna todos os valores de uma propriedade específica que são gerados por essa propriedade conforme ela aparece na consulta.

Por exemplo, uma chamada para GetValuesForProp(L"Name", sa) retorna a matriz sa, que contém todos os valores de "Name" que exigem que as instâncias sejam enviadas de volta para atender à consulta. Se sa contiver {"a", "b"}, todas as instâncias em que "Name=a" e todas as instâncias em que "Name=b" devem ser enviadas de volta para satisfazer completamente a consulta.

Se as restrições em "Name" não forem suficientemente limitadas, uma matriz sa vazia será retornada.

Sintaxe

HRESULT GetValuesForProp(
  LPCWSTR         wszPropName,
  CHStringArray & achNames
);

Parâmetros

wszPropName

Matriz de valores para a propriedade especificada por wszPropName.

achNames

Nome da propriedade de destino.

Retornar valor

Esse método retorna WBEM_S_NO_ERROR em caso de êxito e WBEM_E_FAILED, ou qualquer outro código de erro HRESULT , em caso de falha.

Comentários

Dado um nome de propriedade, esse método retorna todos os valores de resultado em um contêiner CHStringArray ou vector. O contêiner de vetor contém _bstr_t objetos que contêm os valores de resultado.

Por exemplo, a lista a seguir lista os valores retornados por GetValuesForProp para uma variedade de consultas quando chamados com wszPropName definido como "Drive".

Consulta Retornar valor Result

SELECT * FROMWin32_Directory

ONDE Unidade = "C:"

WBEM_S_NO_ERROR C:

SELECT * FROMWin32_Directory

ONDE Unidade = "C:" OU FileSize = 256

WBEM_S_NO_ERROR Sem resultados; aszNames está vazio.

SELECT * FROMWin32_Directory

ONDE Unidade = "C:" OU Unidade = "D:"

WBEM_S_NO_ERROR C:, D:

SELECT * FROMWin32_Directory

ONDE Unidade <> "C:"

WBEM_S_NO_ERROR Sem resultados; aszNames está vazio.

SELECT * FROMWin32_Directory

WHEREPath = "\DOS"

WBEM_S_NO_ERROR Sem resultados; aszNames está vazio.
 

O método GetValuesForProp dá suporte apenas a tipos de cadeia de caracteres. Por exemplo, a consulta a seguir, seguida por uma chamada para GetValuesForProp("PropInt", values), retorna WBEM_E_INVALID_QUERY enquanto GetValuesForProp("PropStr", valores) retorna S_OK.

SELECT * FROM Test WHERE PropInt = 32 AND PropStr = "a"

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho frquery.h (inclua FwCommon.h)
Biblioteca FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll

Confira também

CFrameworkQuery

Provider::ExecQuery