Função PropVariantGetElem (propvarutil.h)
Inicializa uma estrutura PROPVARIANT com base em um elemento especificado em outra estrutura PROPVARIANT .
Sintaxe
HRESULT PropVariantGetElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
Parâmetros
[in] propvarIn
Tipo: REFPROPVARIANT
Referência à estrutura PROPVARIANT de origem.
[in] iElem
Tipo: ULONG
Índice de um elemento de estrutura PROPVARIANT em propvarIn.
[out] ppropvar
Tipo: PROPVARIANT*
Quando essa função retorna, contém um PROPVARIANT com o valor especificado da estrutura PROPVARIANT de origem.
Valor retornado
Tipo: HRESULT
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Essa função auxiliar funciona para estruturas PROPVARIANT dos seguintes tipos:
- VT_LPWSTR
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_FILETIME
- VT_VECTOR | (qualquer um dos VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
- VT_ARRAY | (qualquer um dos VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
Essa é uma função embutida, com seu código-fonte fornecido no cabeçalho. Ele não está incluído em nenhum arquivo .dll ou .lib.
Essa função extrai um único valor da estrutura PROPVARIANT de origem e usa esse valor para inicializar a estrutura PROPVARIANT de saída. O aplicativo de chamada deve usar PropVariantClear para liberar o PROPVARIANT referenciado por ppropvar quando ele não for mais necessário.
Se o PROPVARIANT de origem for um vetor ou matriz, iElem deverá ser menor que o número de elementos no vetor ou na matriz.
Se o PROPVARIANT de origem tiver apenas um único valor, iElem deverá ser 0.
Se o PROPVARIANT de origem estiver vazio, essa função sempre retornará um código de erro.
Exemplos
O exemplo de código a seguir, a ser incluído como parte de um programa maior, demonstra como usar PropVariantGetElem em uma instrução de iteração para acessar os valores em PROPVARIANT.
// PROPVARIANT propvar;
// Assume propvar is initialized and valid.
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
<xref rid="_stg_propvariant"/>propvarElem = {0};
hr = PropVariantGetElem(propvar, iElem, &propvarElem);
if (SUCCEEDED(hr))
{
// propvarElem is valid now.
PropVariantClear(&propvarElem);
}
}
Requisitos
Cliente mínimo com suporte | Windows XP com SP2, Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 com SP1 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | propvarutil.h |
Redistribuível | Pesquisa da Área de Trabalho do Windows (WDS) 3.0 |