| #ifndef __WINE_OBJBASE_H |
| #define __WINE_OBJBASE_H |
| |
| |
| #include "wine/obj_base.h" |
| |
| /* the following depend only on obj_base.h */ |
| #include "wine/obj_misc.h" |
| #include "wine/obj_channel.h" |
| #include "wine/obj_clientserver.h" |
| #include "wine/obj_marshal.h" |
| #include "wine/obj_storage.h" |
| |
| /* the following depend on obj_storage.h */ |
| #include "wine/obj_moniker.h" |
| #include "wine/obj_propertystorage.h" |
| |
| /* the following depend on obj_moniker.h */ |
| #include "wine/obj_dataobject.h" |
| |
| /* FIXME: the following should be moved to one of the wine/obj_XXX.h headers */ |
| |
| /***************************************************************************** |
| * CoXXX API |
| */ |
| /* FIXME: more CoXXX functions are missing */ |
| DWORD WINAPI CoBuildVersion(void); |
| |
| typedef enum tagCOINIT |
| { |
| COINIT_APARTMENTTHREADED = 0x2, /* Apartment model */ |
| COINIT_MULTITHREADED = 0x0, /* OLE calls objects on any thread */ |
| COINIT_DISABLE_OLE1DDE = 0x4, /* Don't use DDE for Ole1 support */ |
| COINIT_SPEED_OVER_MEMORY = 0x8 /* Trade memory for speed */ |
| } COINIT; |
| |
| HRESULT WINAPI CoInitialize16(LPVOID lpReserved); |
| HRESULT WINAPI CoInitialize32(LPVOID lpReserved); |
| #define CoInitialize WINELIB_NAME(CoInitialize) |
| |
| HRESULT WINAPI CoInitializeEx32(LPVOID lpReserved, DWORD dwCoInit); |
| #define CoInitializeEx WINELIB_NAME(CoInitializeEx) |
| |
| void WINAPI CoUninitialize(void); |
| |
| |
| HRESULT WINAPI CoCreateGuid(GUID *pguid); |
| |
| /* class registration flags; passed to CoRegisterClassObject */ |
| typedef enum tagREGCLS |
| { |
| REGCLS_SINGLEUSE = 0, |
| REGCLS_MULTIPLEUSE = 1, |
| REGCLS_MULTI_SEPARATE = 2, |
| REGCLS_SUSPENDED = 4 |
| } REGCLS; |
| |
| HRESULT WINAPI CoRegisterClassObject16(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister); |
| HRESULT WINAPI CoRegisterClassObject32(REFCLSID rclsid,LPUNKNOWN pUnk,DWORD dwClsContext,DWORD flags,LPDWORD lpdwRegister); |
| #define CoRegisterClassObject WINELIB_NAME(CoRegisterClassObject) |
| |
| HRESULT WINAPI CoRevokeClassObject(DWORD dwRegister); |
| HRESULT WINAPI CoGetClassObject(REFCLSID rclsid, DWORD dwClsContext,LPVOID pvReserved, const REFIID iid, LPVOID *ppv); |
| |
| |
| HRESULT WINAPI CoCreateInstance(REFCLSID rclsid,LPUNKNOWN pUnkOuter,DWORD dwClsContext,REFIID iid,LPVOID *ppv); |
| void WINAPI CoFreeLibrary(HINSTANCE32 hLibrary); |
| void WINAPI CoFreeAllLibraries(void); |
| void WINAPI CoFreeUnusedLibraries(void); |
| HRESULT WINAPI CoFileTimeNow(FILETIME *lpFileTime); |
| LPVOID WINAPI CoTaskMemAlloc(ULONG size); |
| void WINAPI CoTaskMemFree(LPVOID ptr); |
| HINSTANCE32 WINAPI CoLoadLibrary(LPOLESTR16 lpszLibName, BOOL32 bAutoFree); |
| |
| HRESULT WINAPI CoLockObjectExternal16(LPUNKNOWN pUnk,BOOL16 fLock,BOOL16 fLastUnlockReleases); |
| HRESULT WINAPI CoLockObjectExternal32(LPUNKNOWN pUnk,BOOL32 fLock,BOOL32 fLastUnlockReleases); |
| #define CoLockObjectExternal WINELIB_NAME(CoLockObjectExternal) |
| |
| |
| /* internal Wine stuff */ |
| |
| |
| /***************************************************************************** |
| * IClassFactory interface |
| */ |
| |
| typedef struct _IClassFactory { |
| /* IUnknown fields */ |
| ICOM_VTABLE(IClassFactory)* lpvtbl; |
| DWORD ref; |
| } _IClassFactory; |
| |
| HRESULT WINE_StringFromCLSID(const CLSID *id, LPSTR); |
| |
| |
| /***************************************************************************** |
| * IMalloc interface |
| */ |
| /* private prototypes for the constructors */ |
| LPMALLOC16 IMalloc16_Constructor(void); |
| LPMALLOC32 IMalloc32_Constructor(void); |
| |
| |
| /***************************************************************************** |
| * IUnknown interface |
| */ |
| |
| typedef struct _IUnknown { |
| /* IUnknown fields */ |
| ICOM_VTABLE(IUnknown)* lpvtbl; |
| DWORD ref; |
| } _IUnknown; |
| |
| LPUNKNOWN IUnknown_Constructor(void); |
| |
| #endif /* __WINE_OBJBASE_H */ |