Compartilhar via


Interface IDataObject (objidl.h)

Habilita a transferência de dados e a notificação de alterações nos dados. Os métodos de transferência de dados especificam o formato dos dados transferidos junto com o meio pelo qual os dados devem ser transferidos. Opcionalmente, os dados podem ser renderizados para um dispositivo de destino específico. Além dos métodos para recuperar e armazenar dados, a interface IDataObject especifica métodos para enumerar formatos disponíveis e gerenciar conexões com coletores de consultoria para lidar com notificações de alteração.

O termo objeto de dados é usado para significar qualquer objeto que dê suporte a uma implementação da interface IDataObject . As implementações variam, dependendo do que o objeto de dados precisa fazer; em alguns objetos de dados, a implementação de determinados métodos não suportados pelo objeto pode ser simplesmente o retorno de E_NOTIMPL. Por exemplo, alguns objetos de dados não permitem que os chamadores enviem dados a eles. Outros objetos de dados não dão suporte a conexões de consultoria e notificações de alteração. No entanto, para os objetos de dados que dão suporte a notificações de alteração, o OLE fornece um objeto chamado titular de consultoria de dados. Um ponteiro de interface para esse titular está disponível por meio de uma chamada para a função auxiliar CreateDataAdviseHolder. Um objeto de dados pode ter várias conexões, cada uma com seu próprio conjunto de atributos. O titular da consultoria de dados OLE simplifica a tarefa de gerenciar essas conexões e enviar as notificações apropriadas.

Herança

A interface IDataObject herda da interface IUnknown . IDataObject também tem estes tipos de membros:

Métodos

A interface IDataObject tem esses métodos.

 
IDataObject::D Advise

Chamado por um objeto que dá suporte a um coletor de consultoria para criar uma conexão entre um objeto de dados e o coletor de consultoria. Isso permite que o coletor de avisos seja notificado sobre alterações nos dados do objeto.
IDataObject::D Unadvise

Destrói uma conexão de notificação que havia sido configurada anteriormente.
IDataObject::EnumDAdvise

Cria um objeto que pode ser usado para enumerar as conexões de consultoria atuais.
IDataObject::EnumFormatEtc

Cria um objeto para enumerar os formatos compatíveis com um objeto de dados.
IDataObject::GetCanonicalFormatEtc

Fornece uma estrutura FORMATETC potencialmente diferente, mas logicamente equivalente. Você usa esse método para determinar se duas estruturas FORMATETC diferentes retornariam os mesmos dados, removendo a necessidade de renderização duplicada.
IDataObject::GetData

Chamado por um consumidor de dados para obter dados de um objeto de dados de origem.
IDataObject::GetDataHere

Chamado por um consumidor de dados para obter dados de um objeto de dados de origem. Esse método difere do método GetData, pois o chamador deve alocar e liberar o meio de armazenamento especificado.
IDataObject::QueryGetData

Determina se o objeto de dados é capaz de renderizar os dados conforme especificado. Objetos que tentam uma operação de colar ou soltar podem chamar esse método antes de chamar IDataObject::GetData para obter uma indicação de se a operação pode ser bem-sucedida.
IDataObject::SetData

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

Requisitos

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