Compartilhar via


Função PropVariantToInt32VectorAlloc (propvarutil.h)

Extrai dados de uma estrutura PROPVARIANT em um vetor Int32 recém-alocado.

Sintaxe

PSSTDAPI PropVariantToInt32VectorAlloc(
  [in]  REFPROPVARIANT propvar,
  [out] LONG           **pprgn,
  [out] ULONG          *pcElem
);

Parâmetros

[in] propvar

Tipo: REFPROPVARIANT

Referência a uma estrutura PROPVARIANT de origem .

[out] pprgn

Tipo: LONG**

Quando essa função retorna, contém um ponteiro para um vetor de valores LONG extraídos da estrutura PROPVARIANT de origem.

[out] pcElem

Tipo: ULONG*

Quando essa função retorna, contém a contagem de elementos LONG extraídos da estrutura PROPVARIANT de origem.

Retornar valor

Tipo: HRESULT

Essa função pode retornar um desses valores.

Código de retorno Descrição
S_OK
Retorna S_OK se tiver êxito ou um valor de erro caso contrário.
E_INVALIDARG
OPROPVARIANT não era do tipo apropriado.

Comentários

Essa função auxiliar é usada em locais em que o aplicativo de chamada espera que um PROPVARIANT mantenha um valor de vetor Int32.

Se o PROPVARIANT de origem tiver o tipo VT_VECTOR | VT_I4 ou VT_ARRAY | VT_I4, essa função extrairá um vetor de valores LONG em um vetor recém-alocado. O aplicativo de chamada é responsável por usar CoTaskMemFree para liberar o vetor apontado por pprgn quando ele não é mais necessário.

Exemplos

O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PropVariantToInt32VectorAlloc para acessar um valor de vetor LONG em um PROPVARIANT.

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid. The application is expecting propvar to contain a vector of LONG values.
LONG *prgLongs;
ULONG cElems;
HRESULT hr = PropVariantToInt32VectorAlloc(propvar, &prgLongs, &cElems);
if (SUCCEEDED(hr))
{
     // prgLongs now points to a vector of cElems LONGs.
     CoTaskMemFree(prgLongs);
}

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

InitPropVariantFromInt32Vector

PropVariantGetInt32Elem

PropVariantToInt32

PropVariantToInt32Vector

VariantToInt32Array