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 |
---|---|
|
Error en la función OpenClipboard de Windows usada en OleFlushClipboard . |
|
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) |