%long

BOOL
DWORD
HDC
HRESULT
LHCLIENTDOC
LONG
OLECLIPFORMAT
OLESTATUS
OLEOPT_RENDER

%ptr

IPersistStream *
IStream *
LHCLIENTDOC *
LONG *
LPFORMATETC
LPSTORAGE
LPOLECLIENT
LPOLECLIENTSITE
LPOLEOBJECT
LPOLEOBJECT *
LPVOID *
REFCLSID
REFIID
void **

%str

LPCSTR

