IDataObject::DAdvise
9/8/2008
Este método é chamado por um objeto suporte um coletor de avisos para criar uma conexão entre um objeto de dados o coletor de avisos. Isso permite que o coletor de avisos para ser notificado das alterações nos dados do objeto.
Syntax
HRESULT DAdvise(
FORMATETC* pFormatetc,
DWORD advf,
IAdviseSink* pAdvSink,
DWORD* pdwConnection
);
Parameters
pFormatetc
[no] Ponteiro para uma estrutura FORMATETC que define o formato, dispositivo destino, aspecto e mídia que será usada para futuras notificações.De exemplo, um coletor pode desejar saber apenas quando altera a representação bitmap dos dados na objeto de dados. Outro coletor pode estar interessado em apenas o formato metarquivo do mesmo objeto.
Cada coletor de avisos é notificado quando altera os dados de seu interesse. Este dados são passados voltar para o coletor de avisos quando notificação ocorre.
- advf
[no] DWORD que especifica um GRUPO de sinalizadores para controlar a de consultoria de conexão. Valores válidos vão da enumeração ADVF. No entanto, apenas alguns dos possíveis ADVF Os valores são relevantes para este método. Consulte a seção " Comentários " para obter mais informações.
- pAdvSink
Ponteiro para a interface IAdviseSink sobre o coletor de avisos que receberá o notificação de alteração.
pdwConnection
[out] Ponteiro para um DWORD token que identifica esta conexão.Você pode usar esse token posteriormente para excluir a de consultoria conexão passando-lo para IDataObject::DUnadvise.
Se esse valor for zero, a conexão não foi estabelecida.
Return Value
Este método oferece suporte a padrão retornam valores E_INVALIDARG, E_UNEXPECTED e E_OUTOFMEMORY.
A seguinte tabela mostra os adicionais retornam valores para este método.
Valor | Descrição |
---|---|
S_OK |
A de consultoria conexão foi criado. |
E_NOTIMPL |
Este método não é implementado na objeto de dados. |
DV_E_LINDEX |
Valor inválido para lIndex; Atualmente, somente-1 é com suporte. |
DV_E_FORMATETC |
Valor inválido para pFormatetc. |
OLE_E_ADVISENOTSUPPORTED |
O objeto de dados não notificação de alteração suporte. |
Remarks
A seguinte tabela descreve os valores relevantes para o advf parâmetro.
Valor | Descrição |
---|---|
ADVF_NODATA |
Solicita o objeto de dados evitar o envio dados com as notificações. Normalmente dados são enviados. Este sinalizador é uma maneira para substituir o comportamento usar como padrão. Quando ADVF_NODATA é usado, o TYMED membro da estrutura STGMEDIUM que é passada para OnDataChange Normalmente conterá TYMED_NULL. O chamador pode, em seguida, recuperar os dados com um chamar subseqüente para o método IDataObject::GetData. |
ADVF_ONLYONCE |
Faz com que o de consultoria conexão para ser destruídos depois que a primeira notificação de alteração for enviado. É feita uma chamar implícito para o método IDataObject::DUnadvise on Behalf Of o chamador para remover a conexão. |
ADVF_PRIMEFIRST |
Solicita uma notificação inicial adicional. A combinação de ADVF_ONLYONCE e ADVF_PRIMEFIRST fornece, aplicado, um assíncrono IDataObject::GetData chamar. |
ADVF_DATAONSTOP |
Quando especificado com ADVF_NODATA, este sinalizador fará com que uma última notificação com os dados incluídos sejam enviadas antes de objeto de dados é destruído. Se usado sem ADVF_NODATA, IDataObject::DAdvise pode ser implementado em uma do seguinte formas:
Um notificação de alteração é enviado apenas em maiúsculas e minúsculas a desligamento. Alterações nos dados prior to desligamento não causar uma notificação para serem enviados. |
IDataObject::DAdvise Cria uma conexão notificação de alteração entre um objeto de dados e o chamador. O chamador fornece uma coletor de avisos para o qual as notificações podem ser enviadas quando altera dados do objeto.
Objetos usados simplesmente para geralmente transferência de dados não de consultoria suporte notificações e OLE_E_ADVISENOTSUPPORTED de retorno de IDataObject::DAdvise.
O objeto oferecer suporte as chamadas coletor de avisos IDataObject::DAdvise Para configurar a conexão, especificando o formato, aspecto, médio e dispositivo destino de interesse na FORMATETC estrutura passado.
Se o objeto de dados não suporte um ou mais dos atributos solicitados ou o envio de notificações at All, ele pode recusar a conexão por meio do retorno OLE_E_ADVISENOTSUPPORTED.
Recipientes de Objetos Vinculados podem configurar de consultoria conexões diretamente com o ligado origem link ou indiretamente através de padrão objeto link OLE que gerencia a conexão. Conexões configurado com o ligado origem link não são automaticamente excluídos.
O contêiner deve explicitamente chamar IDataObject::DUnAdvise Sobre o ligado origem link para excluir uma de consultoria conexão. O objeto link OLE, manipulado através de IOleLink interface, é implementado no manipulador de usar como padrão.
Conexões configurado por meio de objeto link OLE serão destruídas quando o objeto link é excluído.
O objeto link usar como padrão OLE cria uma informar curinga Com o link origem for OLE pode manter o tempo da última alteração. Este informar é usada especificamente para detalhes de tempo que nada alterado.
OLE ignora todos os formatos dados que podem ter alterado, observando apenas o tempo da última alteração.
Para permitir que aconselha curinga, defina o FORMATETC Membros conforme o seguinte exemplo de código antes chamado IDataObject::DAdvise.
CF == 0;
ptd == NULL;
dwAspect ==-1;
lIndex ==-1
tymed ==-1;
Os sinalizadores Advise também devem incluir ADVF_NODATA. Caractere curinga aconselha de OLE sempre devem ser aceitas por aplicativos.
Para determinar se a plataforma oferece suporte a esta interface, consulte Determining Supported COM APIs.
Requirements
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |