Compartir a través de


Método IDataObject::SetData (objidl.h)

Llamado por un objeto que contiene un origen de datos para transferir datos al objeto que implementa este método.

Sintaxis

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

Parámetros

[in] pformatetc

Puntero a la estructura FORMATETC que define el formato utilizado por el objeto de datos al interpretar los datos contenidos en el medio de almacenamiento.

[in] pmedium

Puntero a la estructura STGMEDIUM que define el medio de almacenamiento en el que se pasan los datos.

[in] fRelease

Si es TRUE, el objeto de datos llamado, que implementa SetData, posee el medio de almacenamiento después de que se devuelva la llamada. Esto significa que debe liberar el medio después de que se haya usado llamando a la función ReleaseStgMedium . Si es FALSE, el autor de la llamada conserva la propiedad del medio de almacenamiento y el objeto de datos llamado usa el medio de almacenamiento durante la duración de la llamada solo.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente. Otros valores posibles incluyen lo siguiente.

Código devuelto Descripción
DV_E_LINDEX
Valor no válido para lindex; actualmente, solo se admite -1.
DV_E_FORMATETC
El valor de pformatetc no es válido.
DV_E_TYMED
El valor tymed no es válido.
DV_E_DVASPECT
El valor dwAspect no es válido.
OLE_E_NOTRUNNING
La aplicación de objeto no se está ejecutando.
E_FAIL
Error en la operación.
E_UNEXPECTED
Se produjo un error inesperado.
E_INVALIDARG
El valor dwDirection no es válido.
E_OUTOFMEMORY
No había memoria suficiente disponible para esta operación.

Comentarios

SetData permite que otro objeto intente enviar datos al objeto de datos de implementación. Un objeto de datos implementa este método si admite la recepción de datos de otro objeto. Si no admite esto, se debe implementar para devolver E_NOTIMPL.

El autor de la llamada asigna el medio de almacenamiento indicado por el parámetro pmedium , en el que se pasan los datos. El objeto de datos llamado no toma posesión de los datos hasta que se haya recibido correctamente y no se devuelve ningún código de error. El valor del parámetro fRelease indica la propiedad del medio después de que se devuelva la llamada. FALSE indica que el autor de la llamada todavía posee el medio y el objeto de datos solo tiene el uso de él durante la llamada; TRUE indica que el objeto de datos ahora es propietario de él y debe liberarlo cuando ya no sea necesario.

El tipo de medio especificado en los parámetros pformatetc y pmedium debe ser el mismo. Por ejemplo, uno no puede ser un identificador global y el otro un flujo.

Requisitos

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

Consulte también

IDataObject