IAdviseSink::OnDataChange
9/8/2008
Thismethod aconselha o coletor que uma exibição objeto foi alterado.
Syntax
void OnDataChange(
FORMATETC* pFormatetc,
STGMEDIUM* pStgmed
);
Parameters
pFormatetc
[no] Ponteiro para o FORMATETC estrutura, que descreve o seguinte sobre o objeto de dados chamado.- Formato
- Dispositivo de destino
- O processamento
- Informações de armazenamento
- pStgmed
[no] Ponteiro para o STGMEDIUM estrutura, que define a meio de armazenamento (memória global, arquivo em disco, objeto armazenamento, objeto transmitir, objeto GDI ou indefinido) e a propriedade dessa mídia para o objeto de dados chamado.
Return Value
Nenhum.
Remarks
Identificadores de objeto e recipientes de implementar objetos link OnDataChange seja apropriado etapas quando notificado que dados no objeto foi alterado. Eles também devem chamar IDataObject::DAdvise Para configurar de consultoria conexões com os objetos no cujos dados eles estão interessados.
Para obter mais informações sobre como especificar uma de consultoria conexão para objetos dados, consulte DAdvise.
Recipientes que tiram proveito da cache OLE suporte não será necessário registrar para dados-notificações alteração. Isso ocorre porque as informações necessárias para atualização apresentação do contêiner do objeto, incluindo as alterações nos seus dados, são mantidas no armazenar em cache do o objeto.
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Notas para Implementers
Se você implementar OnDataChange Para um contêiner, lembre-se de que esse método é assíncrono e que síncrono fazendo chamadas dentro assíncrono métodos não é válido. Portanto, não é possível chamar IDataObject::GetData Para obter os dados precisará atualização seu objeto.
Em vez disso, qualquer postagem uma mensagem interna, ou invalidar o retângulo para os dados alterados por chamado InvalidateRect e aguardando uma mensagem WM_PAINT. Nesta apontar Você Pode get os dados e atualização de objeto.
Os dados propriamente dita, que é válido somente para a duração do chamar, é passado usando o meio de armazenamento apontado pelo pStgmed. Porque o chamador possui a mídia, o coletor de avisos deve não livre-lo. Além disso, se pStgmed aponta para um IStorage Ou IStream interface, o coletor não deve incremento de contagem de referência.
Requirements
Header | objidl.h, objidl.idl |
Library | oleaut32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
IAdviseSink
FORMATETC
IDataObject::DAdvise
IDataObject::GetData
IStorage
IStream
STGMEDIUM
Concepts
Determining Supported COM APIs