Función OleFlushClipboard (ole2.h)

Lleva a cabo la secuencia de apagado del Portapapeles. También libera el puntero IDataObject que la función OleSetClipboard colocó en el Portapapeles.

Sintaxis

HRESULT OleFlushClipboard();

Valor devuelto

Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles son los siguientes.

Código devuelto Descripción
CLIPBRD_E_CANT_OPEN
Error en la función OpenClipboard de Windows usada en OleFlushClipboard .
CLIPBRD_E_CANT_CLOSE
Error en la función CloseClipboard de Windows usada en OleFlushClipboard .

Comentarios

OleFlushClipboard representa los datos de un objeto de datos en el Portapapeles y libera el puntero IDataObject al objeto de datos. Mientras se ejecuta la aplicación que coloca el objeto de datos en el Portapapeles, el Portapapeles contiene solo un puntero al objeto de datos, lo que guarda la memoria. Si está escribiendo una aplicación que actúa como origen de una operación del Portapapeles, puede llamar a la función OleFlushClipboard cuando se cierra la aplicación, como cuando el usuario sale de la aplicación. Llamar a OleFlushClipboard permite pegar y pegar vínculos de objetos OLE después del apagado de la aplicación.

Antes de llamar a OleFlushClipboard, puede determinar fácilmente si los datos todavía están en el Portapapeles con una llamada a la función OleIsCurrentClipboard .

OleFlushClipboard deja todos los formatos ofrecidos por el objeto de transferencia de datos, incluidos los formatos de compatibilidad OLE 1, en el Portapapeles para que estén disponibles después del apagado de la aplicación. Además de los formatos de compatibilidad OLE 1, estos incluyen todos los formatos ofrecidos en un medio de identificador global (todos excepto por TYMED_FILE) y con formato con un dispositivo de destino NULL . Por ejemplo, si una aplicación de origen de datos ofrece un formato de Portapapeles determinado (por ejemplo, cfFOO) en un objeto IStorage y llama a la función OleFlushClipboard , el objeto de almacenamiento se copia en la memoria y el identificador de memoria hglobal se coloca en el Portapapeles.

Para recuperar la información del Portapapeles, puede llamar a la función OleGetClipboard desde otra aplicación, que crea un objeto de datos predeterminado y el hglobal del Portapapeles se convierte de nuevo en un objeto de almacenamiento. Además, el enumerador FORMATETC y el método IDataObject::QueryGetData indicarían correctamente que el formato original del Portapapeles (cfFOO) vuelve a estar disponible en un TYMED_ISTORAGE.

Para vaciar el Portapapeles, llame a la función OleSetClipboard especificando un valor NULL para su parámetro. La aplicación debe llamar a esto cuando se cierre si no es necesario dejar datos en el Portapapeles después del apagado, o si los datos se colocarán en el Portapapeles mediante las funciones estándar del Portapapeles de Windows.

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
Conjunto de API ext-ms-win-com-ole32-l1-1-5 (introducido en Windows 10, versión 10.0.15063)

Consulte también

IDataObject

OleGetClipboard

OleIsCurrentClipboard

OleSetClipboard