Compartilhar via


IDataObject::DAdvise

Windows Mobile SupportedWindows Embedded CE Supported

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:

  • O ADVF_DATAONSTOP pode ser ignorada.
  • O objeto poderá se comportar como se ADVF_NODATA foi especificado.

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

See Also

Reference

IAdviseSink
ADVF
FORMATETC
STGMEDIUM