Função OleCreateLinkFromData (ole2.h)

Cria um objeto vinculado de um objeto de transferência de dados recuperado da área de transferência ou como parte de uma operação de arrastar e soltar OLE.

Sintaxe

HRESULT OleCreateLinkFromData(
  [in]  LPDATAOBJECT    pSrcDataObj,
  [in]  REFIID          riid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     pFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

Parâmetros

[in] pSrcDataObj

Ponteiro para a interface IDataObject no objeto de transferência de dados do qual o objeto vinculado deve ser criado.

[in] riid

Referência ao identificador da interface que o chamador usa posteriormente para se comunicar com o novo objeto (geralmente IID_IOleObject, definido nos cabeçalhos OLE como o identificador de interface para IOleObject).

[in] renderopt

Valor da enumeração OLERENDER que indica os recursos de desenho ou recuperação de dados armazenados em cache localmente que o objeto recém-criado deve ter. Considerações adicionais são descritas na seção Comentários a seguir.

[in] pFormatEtc

Ponteiro para um valor da enumeração OLERENDER que indica os recursos de desenho ou recuperação de dados armazenados em cache localmente que o objeto recém-criado deve ter. O valor OLERENDER escolhido afeta os valores possíveis para o parâmetro pFormatEtc .

[in] pClientSite

Ponteiro para uma instância do IOleClientSite, a interface primária por meio da qual o objeto solicitará serviços de seu contêiner. Este parâmetro pode ser NULL.

[in] pStg

Ponteiro para a interface IStorage no objeto de armazenamento. Esse parâmetro não pode ser NULL.

[out] ppvObj

Endereço da variável de ponteiro que recebe o ponteiro de interface solicitado em riid. Após o retorno bem-sucedido, ppvObj contém o ponteiro de interface solicitado no objeto recém-criado.

Retornar valor

Essa função retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.

Código de retorno Descrição
CLIPBRD_E_CANT_OPEN
Não é possível abrir a área de transferência.
OLE_E_CANT_GETMONIKER
Não é possível extrair o moniker do objeto.
OLE_E_CANT_BINDTOSOURCE
Não é possível associar à origem. A associação é necessária para obter os dados de inicialização do cache.

Comentários

A função OleCreateLinkFromData é usada para implementar uma operação paste-link ou drag-link. Sua operação é semelhante à da função OleCreateFromData , exceto que ela cria um link e procura formatos de dados diferentes. Se o formato CF_LINKSOURCE não estiver presente e o formato da área de transferência FileName ou FileNameW estiver presente no objeto de transferência de dados, OleCreateLinkFromData criará um pacote que contém o link para o arquivo indicado.

Use os parâmetros renderopt e pFormatetc para controlar a funcionalidade de cache do objeto recém-criado. Para obter informações gerais sobre como determinar o que deve ser armazenado em cache, consulte a enumeração OLERENDER para obter uma descrição da interação entre renderopt e pFormatetc. No entanto, há alguns efeitos específicos adicionais desses parâmetros na maneira como OleCreateLinkFromData inicializa o cache, da seguinte maneira.

Valor Descrição
OLERENDER_DRAW, OLERENDER_FORMAT Se as informações da apresentação estiverem nos outros formatos no objeto de dados de origem, essas informações serão usadas. Se as informações não estiverem presentes, o cache estará inicialmente vazio, mas será preenchido na primeira vez que o objeto for executado. Nenhum outro formato é armazenado em cache no objeto recém-criado.
OLERENDER_NONE, OLERENDER_ASIS Nada deve ser armazenado em cache no objeto recém-criado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ole2.h
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

OleCreateLink