Condividi tramite


Funzione OleFlushClipboard (ole2.h)

Esegue la sequenza di arresto degli Appunti. Rilascia anche il puntatore IDataObject posizionato negli Appunti dalla funzione OleSetClipboard .

Sintassi

HRESULT OleFlushClipboard();

Valore restituito

Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono quanto segue.

Codice restituito Descrizione
CLIPBRD_E_CANT_OPEN
La funzione Windows OpenClipboard utilizzata in OleFlushClipboard non è riuscita.
CLIPBRD_E_CANT_CLOSE
La funzione CloseClipboard di Windows utilizzata in OleFlushClipboard non è riuscita.

Commenti

OleFlushClipboard esegue il rendering dei dati da un oggetto dati negli Appunti e rilascia il puntatore IDataObject all'oggetto dati. Mentre l'applicazione che inserisce l'oggetto dati negli Appunti è in esecuzione, gli Appunti contengono solo un puntatore all'oggetto dati, salvando così la memoria. Se si scrive un'applicazione che funge da origine di un'operazione degli Appunti, è possibile chiamare la funzione OleFlushClipboard quando l'applicazione viene chiusa, ad esempio quando l'utente esce dall'applicazione. La chiamata a OleFlushClipboard consente di incollare e incollare oggetti OLE dopo l'arresto dell'applicazione.

Prima di chiamare OleFlushClipboard, è possibile determinare facilmente se i dati sono ancora presenti negli Appunti con una chiamata alla funzione OleIsCurrentClipboard .

OleFlushClipboard lascia tutti i formati offerti dall'oggetto trasferimento dati, inclusi i formati di compatibilità OLE 1, negli Appunti in modo che siano disponibili dopo l'arresto dell'applicazione. Oltre ai formati di compatibilità OLE 1, questi includono tutti i formati offerti su un supporto di handle globale (tutti tranne TYMED_FILE) e formattati con un dispositivo di destinazione NULL . Ad esempio, se un'applicazione di origine dati offre un formato specifico degli Appunti (ad esempio cfFOO) in un oggetto IStorage e chiama la funzione OleFlushClipboard , l'oggetto di archiviazione viene copiato in memoria e l'handle di memoria hglobal viene inserito negli Appunti.

Per recuperare le informazioni negli Appunti, è possibile chiamare la funzione OleGetClipboard da un'altra applicazione, che crea un oggetto dati predefinito e l'oggetto hglobal dagli Appunti diventa di nuovo un oggetto di archiviazione. Inoltre, l'enumeratore FORMATETC e il metodo IDataObject::QueryGetData indicano tutti correttamente che il formato originale degli Appunti (cfFOO) è nuovamente disponibile in un TYMED_ISTORAGE.

Per svuotare gli Appunti, chiamare la funzione OleSetClipboard specificando un valore NULL per il relativo parametro. L'applicazione deve chiamare questa operazione quando si chiude se non è necessario lasciare i dati negli Appunti dopo l'arresto o se i dati verranno inseriti negli Appunti usando le funzioni standard degli Appunti di Windows.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ole2.h
Libreria Ole32.lib
DLL Ole32.dll
Set di API ext-ms-win-com-ole32-l1-1-5 (introdotto in Windows 10, versione 10.0.15063)

Vedi anche

Idataobject

OleGetClipboard

OleIsCurrentClipboard

OleSetClipboard