Clipboard Format Identifiers

There are five kinds of Clipboard FMTIDs that can occur in VT_CF values: Windows Clipboard Format Values, Macintosh Format Values, Format Identifiers, Clipboard Format Names, and No Format Name. The following table illustrates the representation of each of these five types:

First Four Bytes
Following Value Size
4 bytes (DWORD)
Windows built-in Clipboard Format Value (CF_TEXT).
4 bytes (DWORD)
Macintosh Format Value (4-byte tag).
16 bytes (Format ID)
Length of String
Clipboard format name that has been registered by RegisterClipboardFormat (or some Macintosh equivalent, if any). The string length includes the null terminator.
No format name.

Therefore, the format of a VT_CF value is:

DWORD cb ; // count of bytes that follow (4 + cbTag +

// cbData)

DWORD cftag ; // contains one of the five cftag values

// (0,-1,-2,-3, or positive)

BYTE rgcftag[ cbTag ] ; // cbTag bytes representing the FMTID

BYTE rgData[ cbData ] ; // clipboard data in the specified format

For example, if a VT_CF property contained a 4235 byte bitmap that was stored in the Windows CF_DIB (0x08) Clipboard format, the count of bytes would be 4243 (4235 + 4 + 4) or 0x1093. The following stream of bytes would be stored:

93 10 00 00 FF FF FF FF 08 00 00 00 ?? ?? ?? ?? ?? ?? ...

|--- cb ---|-- cftag --|- rgcftag -|--- rgData (4235 bytes )...

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples