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 |
---|---|
|
La fonction Windows OpenClipboard utilisée dans OleFlushClipboard a échoué. |
|
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) |