Método IRecordInfo::GetFieldNoCopy (oaidl.h)

Retorna um ponteiro para o valor de um determinado nome de campo sem copiar o valor e alocar recursos.

Sintaxe

HRESULT GetFieldNoCopy(
  [in]  PVOID     pvData,
  [in]  LPCOLESTR szFieldName,
  [out] VARIANT   *pvarField,
  [out] PVOID     *ppvDataCArray
);

Parâmetros

[in] pvData

A instância de um registro.

[in] szFieldName

O nome do campo.

[out] pvarField

A VARIANT que conterá o UDT no retorno.

[out] ppvDataCArray

Recebe o valor do campo após o retorno.

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
Êxito.
E_INVALIDARG
Um ou mais argumentos não são válidos.

Comentários

Após o retorno, a VARIANT que você passa contém um ponteiro direto para o campo do registro, ppvDataCArray. Se você modificar a VARIANT, o campo de registro subjacente será alterado.

O chamador aloca memória do VARIANT, mas não possui a memória, portanto, não pode liberar pvarField. Esse método chama VariantClear para pvarField antes de preencher o campo solicitado.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho oaidl.h

Confira também

IRecordInfo

Variantclear