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.