Función OleCreateLinkFromData (ole2.h)

Crea un objeto vinculado a partir de un objeto de transferencia de datos recuperado del Portapapeles o como parte de una operación de arrastrar y colocar OLE.

Sintaxis

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

Puntero a la interfaz IDataObject del objeto de transferencia de datos desde el que se va a crear el objeto vinculado.

[in] riid

Referencia al identificador de interfaz que el autor de la llamada usa más adelante para comunicarse con el nuevo objeto (normalmente IID_IOleObject, definido en los encabezados OLE como identificador de interfaz para IOleObject).

[in] renderopt

Valor de la enumeración OLERENDER que indica las funcionalidades de dibujo o recuperación de datos almacenadas localmente en caché que debe tener el objeto recién creado. Las consideraciones adicionales se describen en la sección Comentarios siguiente.

[in] pFormatEtc

Puntero a un valor de la enumeración OLERENDER que indica las capacidades de dibujo o recuperación de datos almacenadas localmente en caché que debe tener el objeto recién creado. El valor OLERENDER elegido afecta a los valores posibles para el parámetro pFormatEtc .

[in] pClientSite

Puntero a una instancia de IOleClientSite, la interfaz principal a través de la cual el objeto solicitará servicios de su contenedor. Este parámetro puede ser NULL.

[in] pStg

Puntero a la interfaz IStorage en el objeto de almacenamiento. Este parámetro no puede ser NULL.

[out] ppvObj

Dirección de la variable de puntero que recibe el puntero de interfaz solicitado en riid. Tras la devolución correcta, ppvObj contiene el puntero de interfaz solicitado en el objeto recién creado.

Valor devuelto

Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles incluyen lo siguiente.

Código devuelto Descripción
CLIPBRD_E_CANT_OPEN
No se puede abrir el Portapapeles.
OLE_E_CANT_GETMONIKER
No se puede extraer el moniker del objeto.
OLE_E_CANT_BINDTOSOURCE
No se puede enlazar al origen. El enlace es necesario para obtener los datos de inicialización de la memoria caché.

Comentarios

La función OleCreateLinkFromData se usa para implementar un vínculo de pegado o una operación de vínculo de arrastre. Su operación es similar a la de la función OleCreateFromData , excepto que crea un vínculo y busca formatos de datos diferentes. Si el formato CF_LINKSOURCE no está presente y el formato del Portapapeles FileName o FileNameW está presente en el objeto de transferencia de datos, OleCreateLinkFromData crea un paquete que contiene el vínculo al archivo indicado.

Los parámetros renderopt y pFormatetc se usan para controlar la funcionalidad de almacenamiento en caché del objeto recién creado. Para obtener información general sobre cómo determinar qué se va a almacenar en caché, consulte la enumeración OLERENDER para obtener una descripción de la interacción entre renderopt y pFormatetc. Sin embargo, hay algunos efectos específicos adicionales de estos parámetros en la forma en que OleCreateLinkFromData inicializa la memoria caché, como se indica a continuación.

Valor Descripción
OLERENDER_DRAW, OLERENDER_FORMAT Si la información de presentación está en los otros formatos del objeto de datos de origen, se usa esta información. Si la información no está presente, la memoria caché está inicialmente vacía, pero se rellenará la primera vez que se ejecute el objeto. Ningún otro formato se almacena en caché en el objeto recién creado.
OLERENDER_NONE, OLERENDER_ASIS No hay nada que se almacene en caché en el objeto recién creado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ole2.h
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

OleCreateLink