Compartir a través de


Método IOleCache::SetData (oleidl.h)

Inicializa la memoria caché con datos en un formato especificado y en un medio especificado.

Sintaxis

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

Parámetros

[in] pformatetc

Puntero a una estructura FORMATETC que especifica el formato de los datos de presentación que se colocan en la memoria caché.

[in] pmedium

Puntero a una estructura STGMEDIUM que especifica el medio de almacenamiento que contiene los datos de presentación.

[in] fRelease

Indica la propiedad del medio de almacenamiento después de la finalización del método. Si fRelease es TRUE, la memoria caché toma posesión y libera el medio cuando termina de usarlo. Cuando fRelease es FALSE, el autor de la llamada conserva la propiedad y es responsable de liberar el medio. La memoria caché solo puede usar el medio de almacenamiento durante la llamada.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.

Código devuelto Descripción
DV_E_LINDEX
El valor no es válido para pformatetc-lindex>. Actualmente, solo se admite -1.
DV_E_FORMATETC
La estructura FORMATETC no es válida.
DV_E_TYMED
El valor no es válido para pformatetc-tymed>.
DV_E_DVASPECT
El valor no es válido para pformatetc-dwAspect>.
OLE_E_BLANK
Hay un objeto sin inicializar.
DV_E_TARGETDEVICE
El objeto es estático y pformatetc-ptd> no es NULL.
STG_E_MEDIUMFULL
El medio de almacenamiento está lleno.

Comentarios

Normalmente se llama a IOleCache::SetData cuando se crea un objeto desde el Portapapeles o a través de una operación de arrastrar y colocar, y se usan datos de origen de inserción para crear el objeto.

IOleCache::SetData e IOleCache::InitCache son muy similares. Hay dos diferencias principales. La primera diferencia es que, mientras que IOleCache::InitCache inicializa la memoria caché con el formato de presentación proporcionado por el objeto de datos, IOleCache::SetData lo inicializa con un solo formato. En segundo lugar, el método IOleCache::SetData omite la marca ADVF_NODATA mientras IOleCache::InitCache obedece a esta marca.

Un contenedor puede usar este método para mantener un único aspecto de un objeto, como el aspecto del icono del objeto.

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 oleidl.h

Consulte también

IOleCache

IOleCache::Cache

IOleCache::SetData