Struttura FORMATETC

La struttura FORMATETC è un formato generalizzato degli Appunti, migliorato per includere un dispositivo di destinazione, un aspetto o una visualizzazione dei dati e un supporto di archiviazione. Un consumer di dati, ad esempio un'applicazione contenitore OLE, passa la struttura FORMATETC come argomento nelle chiamate a IDataObject per indicare il tipo di dati desiderato da un'origine dati, ad esempio un oggetto documento composto. L'origine usa la struttura FORMATETC per descrivere i formati che può fornire.

FORMATETC può descrivere praticamente tutti i dati, inclusi altri oggetti, ad esempio moniker. Un contenitore può chiedere a uno degli oggetti incorporati di elencare i relativi formati di dati chiamando IDataObject::EnumFormatEtc, che restituisce un oggetto enumeratore che implementa l'interfaccia IEnumFORMATETC. Invece di rispondere semplicemente che ha "testo e bitmap", l'oggetto può fornire una descrizione dettagliata dei dati, incluso il dispositivo (normalmente schermo o stampante) per il quale viene eseguito il rendering, l'aspetto da presentare all'utente (contenuto completo, anteprima, icona o formattato per la stampa) e il supporto di archiviazione contenente i dati (memoria globale, file del disco, oggetto di archiviazione o flusso. Questa capacità di descrivere in modo rigoroso i dati comporterà, nel tempo, una maggiore qualità della stampante e dell'output dello schermo, oltre a una maggiore efficienza nell'esplorazione dei dati, in cui uno schizzo di anteprima è molto più veloce da recuperare e visualizzare rispetto a un rendering completamente dettagliato.

Nella tabella seguente sono elencati i campi della struttura di dati FORMATETC e le informazioni specificate.

Campo Dettagli
cfFormat
Formato in cui eseguire il rendering dei dati, che può essere un formato standard degli Appunti, un formato proprietario o un formato OLE. Per altre informazioni sui formati OLE, vedere Documenti composti.
Ptd
Struttura DVTARGETDEVICE, che contiene informazioni sufficienti su un dispositivo di destinazione Windows, ad esempio uno schermo o una stampante, in modo che un handle per il relativo contesto di dispositivo (hDC) possa essere creato usando la funzione CreateDC.
Dwaspect
Aspetto o visualizzazione dei dati di cui eseguire il rendering; può essere il contenuto completo, uno schizzo di anteprima, un'icona o formattato per la stampa.
Lindex
La parte dell'aspetto che è di interesse; per il presente, il valore deve essere -1, a indicare che l'intera visualizzazione è di interesse.
Tymed
Supporto di archiviazione dei dati, che può essere la memoria globale, il file del disco o un'istanza di una delle interfacce di archiviazione strutturata di COM.

Formati di dati e supporti di trasferimento