Partilhar via


Classe IDataObjectImpl

Essa classe fornece métodos para dar suporte à transferência uniforme de dados e ao gerenciamento de conexões.

Importante

Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.

Sintaxe

template<class T>
class IDataObjectImpl

Parâmetros

T
Sua classe, derivada de IDataObjectImpl.

Membros

Métodos públicos

Nome Descrição
IDataObjectImpl::DAdvise Estabelece uma conexão entre o objeto de dados e um coletor de avisos. Isso permite que o coletor de avisos receba notificações das alterações no objeto.
IDataObjectImpl::DUnadvise Encerra uma conexão estabelecida anteriormente por meio de DAdvise.
IDataObjectImpl::EnumDAdvise Cria um enumerador para iterar por meio das conexões de aviso atuais.
IDataObjectImpl::EnumFormatEtc Cria um enumerador para iterar por meio das estruturas FORMATETC compatíveis com o objeto de dados. A implementação da ATL retorna E_NOTIMPL.
IDataObjectImpl::FireDataChange Envia uma notificação de alteração de volta para cada coletor de avisos.
IDataObjectImpl::GetCanonicalFormatEtc Recupera uma estrutura FORMATETC logicamente equivalente a uma mais complexa. A implementação da ATL retorna E_NOTIMPL.
IDataObjectImpl::GetData Transfere dados do objeto de dados para o cliente. Os dados são descritos em uma estrutura FORMATETC e são transferidos por meio de uma estrutura STGMEDIUM.
IDataObjectImpl::GetDataHere Semelhante a GetData, exceto que o cliente deve alocar a estrutura STGMEDIUM. A implementação da ATL retorna E_NOTIMPL.
IDataObjectImpl::QueryGetData Determina se o objeto de dados dá suporte a uma estrutura FORMATETC específica para transferir dados. A implementação da ATL retorna E_NOTIMPL.
IDataObjectImpl::SetData Transfere dados do cliente para o objeto de dados. A implementação da ATL retorna E_NOTIMPL.

Comentários

A interface IDataObject fornece métodos para dar suporte à UDT. IDataObject usa as estruturas de formato padrão FORMATETC e STGMEDIUM para recuperar e armazenar dados.

IDataObject também gerencia conexões com coletores de avisos para processar notificações de alteração de dados. Para que o cliente receba notificações de alteração de dados do objeto de dados, o cliente deve implementar a interface IAdviseSink em um objeto chamado em um coletor de avisos. Quando o cliente chama IDataObject::DAdvise, uma conexão é estabelecida entre o objeto de dados e o coletor de avisos.

A classe IDataObjectImpl fornece uma implementação padrão de IDataObject e implementa IUnknown enviando informações para o dispositivo de despejo em builds de depuração.

Artigos relacionados Tutorial da ATL, criando um projeto da ATL

Hierarquia de herança

IDataObject

IDataObjectImpl

Requisitos

Cabeçalho: atlctl.h

IDataObjectImpl::DAdvise

Estabelece uma conexão entre o objeto de dados e um coletor de avisos.

HRESULT DAdvise(
    FORMATETC* pformatetc,
    DWORD advf,
    IAdviseSink* pAdvSink,
    DWORD* pdwConnection);

Comentários

Isso permite que o coletor de avisos receba notificações das alterações no objeto.

Para encerrar a conexão, chame DUnadvise.

Confira IDataObject::DAdvise no SDK do Windows.

IDataObjectImpl::DUnadvise

Encerra uma conexão estabelecida anteriormente por meio de DAdvise.

HRESULT DUnadvise(DWORD dwConnection);

Comentários

Confira IDataObject::DUnadvise no SDK do Windows.

IDataObjectImpl::EnumDAdvise

Cria um enumerador para iterar por meio das conexões de aviso atuais.

HRESULT DAdvise(
    FORMATETC* pformatetc,
    DWORD advf,
    IAdviseSink* pAdvSink,
    DWORD* pdwConnection);

Comentários

Confira IDataObject::EnumDAdvise no SDK do Windows.

IDataObjectImpl::EnumFormatEtc

Cria um enumerador para iterar por meio das estruturas FORMATETC compatíveis com o objeto de dados.

HRESULT EnumFormatEtc(
    DWORD dwDirection,
    IEnumFORMATETC** ppenumFormatEtc);

Comentários

Confira IDataObject::EnumFormatEtc no SDK do Windows.

Valor de retorno

Retorna E_NOTIMPL.

IDataObjectImpl::FireDataChange

Envia uma notificação de alteração de volta para cada coletor de avisos que está sendo gerenciado no momento.

HRESULT FireDataChange();

Valor de retorno

Um valor HRESULT padrão.

IDataObjectImpl::GetCanonicalFormatEtc

Recupera uma estrutura FORMATETC logicamente equivalente a uma mais complexa.

HRESULT GetCanonicalFormatEtc(FORMATETC* pformatetcIn, FORMATETC* pformatetcOut);

Valor de retorno

Retorna E_NOTIMPL.

Comentários

Confira IDataObject::GetCanonicalFormatEtc no SDK do Windows.

IDataObjectImpl::GetData

Transfere dados do objeto de dados para o cliente.

HRESULT GetData(
    FORMATETC* pformatetcIn,
    STGMEDIUM* pmedium);

Comentários

O parâmetro pformatetcIn deve especificar um tipo médio de armazenamento de TYMED_MFPICT.

Confira IDataObject::GetData no SDK do Windows.

IDataObjectImpl::GetDataHere

Semelhante a GetData, exceto que o cliente deve alocar a estrutura STGMEDIUM.

HRESULT GetDataHere(
    FORMATETC* pformatetc,
    STGMEDIUM* pmedium);

Valor de retorno

Retorna E_NOTIMPL.

Comentários

Confira IDataObject::GetDataHere no SDK do Windows.

IDataObjectImpl::QueryGetData

Determina se o objeto de dados dá suporte a uma estrutura FORMATETC específica para transferir dados.

HRESULT QueryGetData(FORMATETC* pformatetc);

Valor de retorno

Retorna E_NOTIMPL.

Comentários

Confira IDataObject::QueryGetData no SDK do Windows.

IDataObjectImpl::SetData

Transfere dados do cliente para o objeto de dados.

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

Valor de retorno

Retorna E_NOTIMPL.

Comentários

Confira IDataObject::SetData no SDK do Windows.

Confira também

Visão geral da aula