194 lines
4.1 KiB
C
194 lines
4.1 KiB
C
|
#ifndef _OLETHUNK_H_
|
||
|
#define _OLETHUNK_H_
|
||
|
|
||
|
//
|
||
|
// String Conversion Helpers
|
||
|
//
|
||
|
STDAPI_(void) CopyAndFreeOLESTR(LPOLESTR polestr, char **pszOut);
|
||
|
|
||
|
STDAPI_(void) CopyAndFreeSTR(LPSTR polestr, LPOLESTR *pszOut);
|
||
|
|
||
|
STDAPI_(LPOLESTR) CreateOLESTR(const char *pszIn);
|
||
|
|
||
|
STDAPI_(LPSTR) CreateSTR(LPCOLESTR pszIn);
|
||
|
|
||
|
#define CREATEOLESTR(x, y) LPOLESTR x = CreateOLESTR(y);
|
||
|
|
||
|
#define CREATESTR(x, y) LPSTR x = CreateSTR(y);
|
||
|
|
||
|
#define FREEOLESTR(x) CopyAndFreeOLESTR(x, NULL);
|
||
|
|
||
|
#define FREESTR(x) CopyAndFreeSTR(x, NULL);
|
||
|
|
||
|
//
|
||
|
// OLE API Thunks
|
||
|
//
|
||
|
STDAPI_(void) CLSIDFromStringA(LPSTR pszClass, LPCLSID pclsid);
|
||
|
|
||
|
STDAPI CLSIDFromProgIDA(LPCSTR lpszProgID, LPCLSID lpclsid);
|
||
|
|
||
|
STDAPI CreateFileMonikerA(LPSTR lpszPathName, LPMONIKER FAR* ppmk);
|
||
|
|
||
|
STDAPI CreateItemMonikerA(
|
||
|
LPSTR lpszDelim,
|
||
|
LPSTR lpszItem,
|
||
|
LPMONIKER FAR* ppmk);
|
||
|
|
||
|
STDAPI GetClassFileA(LPCSTR szFilename, CLSID FAR* pclsid);
|
||
|
|
||
|
STDAPI MkParseDisplayNameA(
|
||
|
LPBC pbc,
|
||
|
LPSTR szUserName,
|
||
|
ULONG FAR * pchEaten,
|
||
|
LPMONIKER FAR * ppmk);
|
||
|
|
||
|
STDAPI OleCreateFromFileA(
|
||
|
REFCLSID rclsid,
|
||
|
LPCSTR lpszFileName,
|
||
|
REFIID riid,
|
||
|
DWORD renderopt,
|
||
|
LPFORMATETC lpFormatEtc,
|
||
|
LPOLECLIENTSITE pClientSite,
|
||
|
LPSTORAGE pStg,
|
||
|
LPVOID FAR* ppvObj);
|
||
|
|
||
|
STDAPI OleCreateLinkToFileA(
|
||
|
LPCSTR lpszFileName,
|
||
|
REFIID riid,
|
||
|
DWORD renderopt,
|
||
|
LPFORMATETC lpFormatEtc,
|
||
|
LPOLECLIENTSITE pClientSite,
|
||
|
LPSTORAGE pStg,
|
||
|
LPVOID FAR* ppvObj);
|
||
|
|
||
|
STDAPI_(HGLOBAL) OleGetIconOfClassA(
|
||
|
REFCLSID rclsid,
|
||
|
LPSTR lpszLabel,
|
||
|
BOOL fUseTypeAsLabel);
|
||
|
|
||
|
STDAPI_(HGLOBAL) OleGetIconOfFileA(LPSTR lpszPath, BOOL fUseFileAsLabel);
|
||
|
|
||
|
STDAPI_(HGLOBAL) OleMetafilePictFromIconAndLabelA(
|
||
|
HICON hIcon,
|
||
|
LPSTR lpszLabel,
|
||
|
LPSTR lpszSourceFile,
|
||
|
UINT iIconIndex);
|
||
|
|
||
|
STDAPI OleRegGetUserTypeA(
|
||
|
REFCLSID clsid,
|
||
|
DWORD dwFormOfType,
|
||
|
LPSTR FAR* pszUserType);
|
||
|
|
||
|
STDAPI ProgIDFromCLSIDA(REFCLSID clsid, LPSTR FAR* lplpszProgID);
|
||
|
|
||
|
STDAPI ReadFmtUserTypeStgA(
|
||
|
LPSTORAGE pstg,
|
||
|
CLIPFORMAT FAR* pcf,
|
||
|
LPSTR FAR* lplpszUserType);
|
||
|
|
||
|
STDAPI StgCreateDocfileA(
|
||
|
LPCSTR pwcsName,
|
||
|
DWORD grfMode,
|
||
|
DWORD reserved,
|
||
|
IStorage FAR * FAR *ppstgOpen);
|
||
|
|
||
|
STDAPI StgOpenStorageA(
|
||
|
LPCSTR pwcsName,
|
||
|
IStorage FAR *pstgPriority,
|
||
|
DWORD grfMode,
|
||
|
SNB snbExclude,
|
||
|
DWORD reserved,
|
||
|
IStorage FAR * FAR *ppstgOpen);
|
||
|
|
||
|
STDAPI StgSetTimesA(
|
||
|
LPSTR lpszName,
|
||
|
FILETIME const FAR* pctime,
|
||
|
FILETIME const FAR* patime,
|
||
|
FILETIME const FAR* pmtime);
|
||
|
|
||
|
|
||
|
STDAPI_(void) StringFromCLSIDA(REFCLSID rclsid, LPSTR *lplpszCLSID);
|
||
|
|
||
|
STDAPI WriteFmtUserTypeStgA(
|
||
|
LPSTORAGE pstg,
|
||
|
CLIPFORMAT cf,
|
||
|
LPSTR lpszUserType);
|
||
|
|
||
|
|
||
|
|
||
|
//
|
||
|
// Method Thunks
|
||
|
//
|
||
|
STDAPI CallIMonikerGetDisplayNameA(
|
||
|
LPMONIKER lpmk,
|
||
|
IBindCtx *pbc,
|
||
|
IMoniker *pmkToLeft,
|
||
|
LPSTR *ppszDisplayName);
|
||
|
|
||
|
STDAPI CallIOleLinkGetSourceDisplayNameA(
|
||
|
IOleLink FAR *polelink,
|
||
|
LPSTR *ppszDisplayName);
|
||
|
|
||
|
STDAPI CallIOleLinkSetSourceDisplayNameA(
|
||
|
IOleLink FAR *polelink,
|
||
|
LPCSTR pszStatusText);
|
||
|
|
||
|
STDAPI CallIOleInPlaceFrameSetStatusTextA(
|
||
|
IOleInPlaceFrame *poleinplc,
|
||
|
LPCSTR pszStatusText);
|
||
|
|
||
|
STDAPI CallIOleInPlaceUIWindowSetActiveObjectA(
|
||
|
IOleInPlaceUIWindow FAR *lpthis,
|
||
|
IOleInPlaceActiveObject *pActiveObject,
|
||
|
LPCSTR pszObjName);
|
||
|
|
||
|
STDAPI CallIOleObjectGetUserTypeA(
|
||
|
LPOLEOBJECT lpOleObject,
|
||
|
DWORD dwFormOfType,
|
||
|
LPSTR *pszUserType);
|
||
|
|
||
|
STDAPI CallIOleObjectSetHostNamesA(
|
||
|
LPOLEOBJECT lpOleObject,
|
||
|
LPCSTR szContainerApp,
|
||
|
LPCSTR szContainerObj);
|
||
|
|
||
|
STDAPI CallIStorageCreateStorageA(
|
||
|
LPSTORAGE lpStg,
|
||
|
const char *pwcsName,
|
||
|
DWORD grfMode,
|
||
|
DWORD dwStgFmt,
|
||
|
DWORD reserved2,
|
||
|
IStorage **ppstg);
|
||
|
|
||
|
STDAPI CallIStorageDestroyElementA(
|
||
|
LPSTORAGE lpStg,
|
||
|
LPSTR pszName);
|
||
|
|
||
|
STDAPI CallIStorageOpenStorageA(
|
||
|
LPSTORAGE lpStg,
|
||
|
const char *pszName,
|
||
|
IStorage *pstgPriority,
|
||
|
DWORD grfMode,
|
||
|
SNB snbExclude,
|
||
|
DWORD reserved,
|
||
|
IStorage **ppstg);
|
||
|
|
||
|
STDAPI CallIStorageCreateStreamA(
|
||
|
LPSTORAGE lpStg,
|
||
|
LPSTR pszName,
|
||
|
DWORD grfMode,
|
||
|
DWORD reserved1,
|
||
|
DWORD reserved2,
|
||
|
IStream **ppstm);
|
||
|
|
||
|
STDAPI CallIStorageOpenStreamA(
|
||
|
LPSTORAGE lpStg,
|
||
|
LPSTR pszName,
|
||
|
void *reserved1,
|
||
|
DWORD grfMode,
|
||
|
DWORD reserved2,
|
||
|
IStream **ppstm);
|
||
|
|
||
|
|
||
|
#endif // _OLETHUNK_H_
|