Condividi tramite


Struttura FORMATETC

La struttura FORMATETC è un formato generalizzato degli Appunti, migliorato per includere un dispositivo di destinazione, un aspetto specifico o una visualizzazione dei dati e un mezzo di archiviazione. Un consumatore di dati, come un'applicazione contenitore OLE, passa la struttura FORMATETC come argomento nelle chiamate a IDataObject per indicare il tipo di dati desiderato da una sorgente di 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'interfacciaIEnumFORMATETC. 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 datiFORMATETCe le informazioni specificate.

Campo Specifica
cfFormat
Il formato in cui i dati devono essere resi, che può essere un formato clipboard standard, un formato proprietario o un formato OLE. Per altre informazioni sui formati OLE, vedere Documenti Compositi.
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 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. Il valore più comune è -1, a indicare che l'intera visualizzazione è di interesse. L'indice in base zero deve essere usato per CFSTR_FILECONTENTS formato.
temporizzato
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