Compartilhar via


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)
Tipos adicionais podem ter suporte no futuro.

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.

Nota Você pode usar PropVariantGetElementCount para obter o número de elementos no vetor ou na matriz.
 

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

Confira também

InitPropVariantFromPropVariantVectorElem