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 |
---|---|
|
No se puede abrir el Portapapeles. |
|
No se puede extraer el moniker del objeto. |
|
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 |