Compartilhar via


Função InitVariantFromVariantArrayElem (propvarutil.h)

Inicializa uma estrutura VARIANT com um valor armazenado em outra estrutura VARIANT .

Sintaxe

PSSTDAPI InitVariantFromVariantArrayElem(
  [in]  REFVARIANT varIn,
  [in]  ULONG      iElem,
  [out] VARIANT    *pvar
);

Parâmetros

[in] varIn

Tipo: REFVARIANT

Referência à estrutura VARIANT de origem.

[in] iElem

Tipo: ULONG

Índice de um dos elementos da estrutura VARIANT de origem.

[out] pvar

Tipo: VARIANT*

Quando essa função retorna, contém a estrutura VARIANT inicializada.

Retornar valor

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 VARIANT dos seguintes tipos:

  • VT_BSTR
  • VT_BOOL
  • VT_I2
  • VT_I4
  • VT_I8
  • VT_U12
  • VT_U14
  • VT_U18
  • VT_DATE
  • VT_ARRAY | (qualquer um dos VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_DATE)
Tipos adicionais podem ter suporte no futuro.

Essa função extrai um único valor da estrutura VARIANT de origem e usa esse valor para inicializar a estrutura VARIANT de saída. O aplicativo de chamada deve usar VariantClear para liberar o VARIANT referenciado por pvar quando ele não for mais necessário.

Se a VARIANT de origem for uma matriz, iElem deverá ser menor que o número de elementos na matriz.

Se a VARIANT de origem tiver um único valor, iElem deverá ser 0.

Se a VARIANT de origem estiver vazia, essa função sempre retornará um código de erro.

Você pode usar VariantGetElementCount para obter o número de elementos na matriz ou matriz.

Exemplos

O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar InitVariantFromVariantArrayElem em uma instrução de iteração para acessar os valores em uma VARIANT.

// VARIANT var;
// Assume var is initialized and valid.
UINT cElem = VariantGetElementCount(var);
HRESULT hr = <mark type="const">S_OK</mark>;

for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
    VARIANT varElem = {0};

    hr = InitVariantFromVariantArrayElem(var, iElem, &varElem);

    if (SUCCEEDED(hr))
    {
        // varElem is now valid.
        VariantClear(&varElem);
    }
}

Requisitos

Requisito Valor
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
Biblioteca Propsys.lib
DLL Propsys.dll (versão 6.0 ou posterior)
Redistribuível Pesquisa da Área de Trabalho do Windows (WDS) 3.0

Confira também

InitPropVariantFromPropVariantVectorElem

VariantGetElem