Partager via


OleFlushClipboard, fonction (ole2.h)

Exécute la séquence d’arrêt du Presse-papiers. Il libère également le pointeur IDataObject placé dans le Presse-papiers par la fonction OleSetClipboard .

Syntaxe

HRESULT OleFlushClipboard();

Valeur de retour

Cette fonction retourne S_OK en cas de réussite. Les autres valeurs possibles sont les suivantes.

Code de retour Description
CLIPBRD_E_CANT_OPEN
La fonction Windows OpenClipboard utilisée dans OleFlushClipboard a échoué.
CLIPBRD_E_CANT_CLOSE
La fonction Windows CloseClipboard utilisée dans OleFlushClipboard a échoué.

Remarques

OleFlushClipboard restitue les données d’un objet de données dans le Presse-papiers et libère le pointeur IDataObject vers l’objet de données. Pendant que l’application qui place l’objet de données dans le Presse-papiers est en cours d’exécution, le Presse-papiers ne contient qu’un pointeur vers l’objet de données, ce qui permet d’économiser de la mémoire. Si vous écrivez une application qui sert de source d’une opération de Presse-papiers, vous pouvez appeler la fonction OleFlushClipboard lorsque votre application est fermée, par exemple lorsque l’utilisateur quitte votre application. L’appel d’OleFlushClipboard permet de coller et de coller des objets OLE après l’arrêt de l’application.

Avant d’appeler OleFlushClipboard, vous pouvez facilement déterminer si vos données se trouvent toujours dans le Presse-papiers avec un appel à la fonction OleIsCurrentClipboard .

OleFlushClipboard laisse tous les formats proposés par l’objet de transfert de données, y compris les formats de compatibilité OLE 1, dans le Presse-papiers afin qu’ils soient disponibles après l’arrêt de l’application. Outre les formats de compatibilité OLE 1, ceux-ci incluent tous les formats proposés sur un support de handle global (tous à l’exception de TYMED_FILE) et mis en forme avec un appareil cible NULL . Par exemple, si une application source de données offre un format de Presse-papiers particulier (par exemple cfFOO) sur un objet IStorage et appelle la fonction OleFlushClipboard , l’objet de stockage est copié en mémoire et le handle de mémoire hglobal est placé dans le Presse-papiers.

Pour récupérer les informations dans le Presse-papiers, vous pouvez appeler la fonction OleGetClipboard à partir d’une autre application, qui crée un objet de données par défaut, et le hglobal du Presse-papiers redevient un objet de stockage. En outre, l’énumérateur FORMATETC et la méthode IDataObject ::QueryGetData indiquent tous correctement que le format du Presse-papiers d’origine (cfFOO) est à nouveau disponible sur un TYMED_ISTORAGE.

Pour vider le Presse-papiers, appelez la fonction OleSetClipboard en spécifiant une valeur NULL pour son paramètre. L’application doit l’appeler lorsqu’elle se ferme s’il n’est pas nécessaire de laisser des données dans le Presse-papiers après l’arrêt, ou si les données sont placées dans le Presse-papiers à l’aide des fonctions standard du Presse-papiers Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête ole2.h
Bibliothèque Ole32.lib
DLL Ole32.dll
Ensemble d’API ext-ms-win-com-ole32-l1-1-5 (introduit dans Windows 10, version 10.0.15063)

Voir aussi

Idataobject

OleGetClipboard

OleIsCurrentClipboard

OleSetClipboard