Compartilhar via


Método IDataObject::SetData (objidl.h)

Chamado por um objeto que contém uma fonte de dados para transferir dados para o objeto que implementa esse método.

Sintaxe

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

Parâmetros

[in] pformatetc

Um ponteiro para a estrutura FORMATETC que define o formato usado pelo objeto de dados ao interpretar os dados contidos no meio de armazenamento.

[in] pmedium

Um ponteiro para a estrutura STGMEDIUM que define o meio de armazenamento no qual os dados estão sendo passados.

[in] fRelease

Se TRUE, o objeto de dados chamado, que implementa SetData, possui o meio de armazenamento após o retorno da chamada. Isso significa que ele deve liberar o meio depois de ter sido usado chamando a função ReleaseStgMedium . Se FALSE, o chamador manterá a propriedade do meio de armazenamento e o objeto de dados chamado usará o meio de armazenamento somente durante a chamada.

Valor retornado

Esse método retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.

Código de retorno Descrição
DV_E_LINDEX
Valor inválido para lindex; Atualmente, há suporte apenas para -1.
DV_E_FORMATETC
O valor de pformatetc não é válido.
DV_E_TYMED
O valor de tymed não é válido.
DV_E_DVASPECT
O valor dwAspect não é válido.
OLE_E_NOTRUNNING
O aplicativo de objeto não está em execução.
E_FAIL
Falha na operação.
E_UNEXPECTED
Ocorreu um erro inesperado.
E_INVALIDARG
O valor dwDirection não é válido.
E_OUTOFMEMORY
Não havia memória suficiente disponível para esta operação.

Comentários

SetData permite que outro objeto tente enviar dados para o objeto de dados em implementação. Um objeto de dados implementará esse método se ele der suporte ao recebimento de dados de outro objeto. Se ele não der suporte a isso, ele deverá ser implementado para retornar E_NOTIMPL.

O chamador aloca o meio de armazenamento indicado pelo parâmetro pmedium , no qual os dados são passados. O objeto de dados chamado não assume a propriedade dos dados até que ele os tenha recebido com êxito e nenhum código de erro seja retornado. O valor do parâmetro fRelease indica a propriedade do meio após o retorno da chamada. FALSE indica que o chamador ainda possui o meio e o objeto de dados só tem o uso dele durante a chamada; TRUE indica que o objeto de dados agora o possui e deve liberá-lo quando ele não for mais necessário.

O tipo de meio especificado nos parâmetros pformatetc e pmedium deve ser o mesmo. Por exemplo, um não pode ser um identificador global e o outro um fluxo.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho objidl.h

Confira também

Idataobject