Updates and fixes.
[wine/wine64.git] / include / wtypes.h
blob8d213494f20f77cedbbafdc875b1a30469a36894
1 /*
2 * Defines the basic types used by COM interfaces.
3 */
5 #ifndef __WINE_WTYPES_H
6 #define __WINE_WTYPES_H
9 #include "wintypes.h"
12 typedef WORD CLIPFORMAT32, *LPCLIPFORMAT32;
13 DECL_WINELIB_TYPE(CLIPFORMAT)
15 typedef CHAR OLECHAR16;
16 typedef WCHAR OLECHAR32;
17 DECL_WINELIB_TYPE(OLECHAR)
19 typedef LPSTR LPOLESTR16;
20 typedef LPWSTR LPOLESTR32;
21 DECL_WINELIB_TYPE(LPOLESTR)
23 typedef LPCSTR LPCOLESTR16;
24 typedef LPCWSTR LPCOLESTR32;
25 DECL_WINELIB_TYPE(LPCOLESTR)
27 typedef OLECHAR16 *BSTR16;
28 typedef OLECHAR32 *BSTR32;
29 DECL_WINELIB_TYPE(BSTR)
31 typedef BSTR16 *LPBSTR16;
32 typedef BSTR32 *LPBSTR32;
33 DECL_WINELIB_TYPE(LPBSTR)
35 struct _GUID
37 DWORD Data1;
38 WORD Data2;
39 WORD Data3;
40 BYTE Data4[8];
43 typedef struct _GUID GUID,*LPGUID,*REFGUID;
44 typedef struct _GUID CLSID,*LPCLSID,*REFCLSID;
45 typedef struct _GUID IID,*REFIID,*LPIID;
47 #define DECLARE_HANDLE(a) typedef HANDLE16 a##16; typedef HANDLE32 a##32
48 DECLARE_HANDLE(HMETAFILEPICT);
49 #undef DECLARE_HANDLE
51 typedef enum tagCLSCTX
53 CLSCTX_INPROC_SERVER = 0x1,
54 CLSCTX_INPROC_HANDLER = 0x2,
55 CLSCTX_LOCAL_SERVER = 0x4,
56 CLSCTX_INPROC_SERVER16 = 0x8,
57 CLSCTX_REMOTE_SERVER = 0x10,
58 CLSCTX_INPROC_HANDLER16 = 0x20,
59 CLSCTX_INPROC_SERVERX86 = 0x40,
60 CLSCTX_INPROC_HANDLERX86 = 0x80
61 } CLSCTX;
63 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
64 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
65 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
68 #endif /* __WINE_WTYPES_H */