117 lines
3.6 KiB
C
117 lines
3.6 KiB
C
#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 */
|