Compartilhar via


VariantCopyInd

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função libera de conteúdo existente de variante de destino e faz um copiar de origem VARIANTARG, executar o engano necessário se a origem é especificada seja VT_BYREF.

Syntax

HRESULT VariantCopyInd( 
  VARIANT FAR* pvarDest, 
  VARIANTARG FAR* pvargSrc 
); 

Parameters

  • pvarDest
    [no] Ponteiro para o VARIANTARG que recebe a copiar.
  • pvargSrc
    [no] Ponteiro para o VARIANTARG que é copiado.

Return Value

Retorna os valores HRESULT mostrados a seguinte tabela.

Valor Descrição

S_OK

O sucesso.

DISP_E_ARRAYISLOCKED

A variante contém uma matriz que está bloqueada.

DISP_E_BADVARTYPE

A origem e destino possuem um inválido variante tipo (geralmente não inicializado).

E_OUTOFMEMORY

Não foi possível alocar memória para a copiar.

E_INVALIDARG

O argumento pvargSrc Foi VT_ARRAY.

Remarks

Passagem inválido (e, em algumas circunstâncias NULL) ponteiros para essa função faz com que uma terminação inesperada do aplicativo.

Essa função é útil quando é necessário um copiar de uma variante, e garantir que ele não é VT_BYREF, como quando manipulação argumentos em uma implementação de IDispatch::Invoke.

De exemplo, se a origem é um (VT_BYREF | VT_I2), o destino será um BYVAL | VT_I2. O mesmo é verdadeiro para todas as combinações VT_BYREF LEGAIS, INCLUINDO VT_VARIANT.

Se pvargSrc é (VT_BYREF | VT_VARIANT) e a variante contido é VT_BYREF, a variante contido também é dereferenced.

Essa função libera conteúdo existente de pvarDest.

Requirements

Header oleauto.h
Library oleaut32.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Automation Functions
VARIANT and VARIANTARG
IDispatch::Invoke