Regardless of whether or not the server application actually does clipboard I/O, it must register clipboard formats for Native, OwnerLink, and ObjectLink. Register these formats with RegisterClipboardFormat and store the registered formats in globally visible variables since the application uses them for clipboard I/O and when making callback functions inside OLEOBJECT. (The GetData, SetData, and EnumFormats callback functions use these formats outside the clipboard context to exchange data with the server DLL).
WORD cfObjectLink;
WORD cfOwnerLink;
WORD cfNative;
.
.
.
cfObjectLink = RegisterClipboardFormat("ObjectLink")
cfOwnerLink = RegisterClipboardFormat("OwnerLink")
cfNative = RegisterclipboardFormat("Native")