Share via


OleFlushClipboard-Funktion (ole2.h)

Führt die Sequenz zum Herunterfahren der Zwischenablage aus. Außerdem wird der IDataObject-Zeiger freigegeben, der von der OleSetClipboard-Funktion in der Zwischenablage platziert wurde.

Syntax

HRESULT OleFlushClipboard();

Rückgabewert

Diese Funktion gibt S_OK nach Erfolg zurück. Weitere mögliche Werte sind:

Rückgabecode Beschreibung
CLIPBRD_E_CANT_OPEN
Fehler bei der Windows OpenClipboard-Funktion, die in OleFlushClipboard verwendet wird.
CLIPBRD_E_CANT_CLOSE
Die in OleFlushClipboard verwendete Windows CloseClipboard-Funktion ist fehlgeschlagen.

Hinweise

OleFlushClipboard rendert die Daten aus einem Datenobjekt in der Zwischenablage und gibt den IDataObject-Zeiger auf das Datenobjekt frei. Während die Anwendung, die das Datenobjekt in der Zwischenablage platziert, ausgeführt wird, enthält die Zwischenablage nur einen Zeiger auf das Datenobjekt, wodurch Arbeitsspeicher gespart wird. Wenn Sie eine Anwendung schreiben, die als Quelle für einen Zwischenablagevorgang fungiert, können Sie die OleFlushClipboard-Funktion aufrufen, wenn Ihre Anwendung geschlossen wird, z. B. wenn der Benutzer Ihre Anwendung verlässt. Der Aufruf von OleFlushClipboard ermöglicht das Einfügen und Einfügen von OLE-Objekten nach dem Herunterfahren der Anwendung.

Vor dem Aufrufen von OleFlushClipboard können Sie mit einem Aufruf der OleIsCurrentClipboard-Funktion ganz einfach ermitteln, ob sich Ihre Daten noch in der Zwischenablage befinden.

OleFlushClipboard belässt alle Formate, die vom Datenübertragungsobjekt angeboten werden, einschließlich der OLE 1-Kompatibilitätsformate, in der Zwischenablage, sodass sie nach dem Herunterfahren der Anwendung verfügbar sind. Zusätzlich zu ole 1-Kompatibilitätsformaten umfassen diese alle Formate, die auf einem globalen Handle-Medium (alle mit Ausnahme von TYMED_FILE) angeboten werden und mit einem NULL-Zielgerät formatiert sind. Wenn beispielsweise eine Datenquellenanwendung ein bestimmtes Zwischenablageformat (z. B. cfFOO) für ein IStorage-Objekt bietet und die OleFlushClipboard-Funktion aufruft, wird das Speicherobjekt in den Arbeitsspeicher kopiert, und das hglobal-Speicherhandle wird in die Zwischenablage eingefügt.

Um die Informationen in der Zwischenablage abzurufen, können Sie die OleGetClipboard-Funktion aus einer anderen Anwendung aufrufen, die ein Standarddatenobjekt erstellt, und das hglobal aus der Zwischenablage wird erneut zu einem Speicherobjekt. Darüber hinaus würden der FORMATETC-Enumerator und die IDataObject::QueryGetData-Methode alle korrekt angeben, dass das ursprüngliche Zwischenablageformat (cfFOO) wieder auf einem TYMED_ISTORAGE verfügbar ist.

Rufen Sie die OleSetClipboard-Funktion auf, um die Zwischenablage zu leeren, indem Sie einen NULL-Wert für den Parameter angeben. Die Anwendung sollte diesen Aufruf aufrufen, wenn sie geschlossen wird, wenn keine Daten nach dem Herunterfahren in der Zwischenablage belassen werden müssen oder wenn Daten mithilfe der Standardmäßigen Windows-Zwischenablagefunktionen in die Zwischenablage eingefügt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ole2.h
Bibliothek Ole32.lib
DLL Ole32.dll
APIs ext-ms-win-com-ole32-l1-1-5 (eingeführt in Windows 10, Version 10.0.15063)

Weitere Informationen

Idataobject

OleGetClipboard

OleIsCurrentClipboard

OleSetClipboard