2 * Defines the basic types used by COM interfaces.
5 #ifndef __WINE_WTYPES_H
6 #define __WINE_WTYPES_H
13 typedef void* HMETAFILEPICT;
15 typedef WORD CLIPFORMAT, *LPCLIPFORMAT;
17 /* FIXME: does not belong here */
18 typedef CHAR OLECHAR16;
19 typedef LPSTR LPOLESTR16;
20 typedef LPCSTR LPCOLESTR16;
21 typedef OLECHAR16 *BSTR16;
22 typedef BSTR16 *LPBSTR16;
25 typedef WCHAR OLECHAR;
26 typedef LPWSTR LPOLESTR;
27 typedef LPCWSTR LPCOLESTR;
28 typedef OLECHAR *BSTR;
31 #define OLESTR(str) WINE_UNICODE_TEXT(str)
36 typedef __uint64 DWORDLONG, *PDWORDLONG;
41 typedef __int64 LONGLONG, *PLONGLONG;
42 typedef __uint64 ULONGLONG, *PULONGLONG;
45 typedef enum tagDVASPECT
48 DVASPECT_THUMBNAIL = 2,
57 STGC_ONLYIFCURRENT = 2,
58 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
62 typedef enum tagSTGMOVE
66 STGMOVE_SHALLOWCOPY = 2
70 typedef struct _COAUTHIDENTITY
81 typedef struct _COAUTHINFO
85 LPWSTR pwszServerPrincName;
87 DWORD dwImpersonationLevel;
88 COAUTHIDENTITY* pAuthIdentityData;
92 typedef struct _COSERVERINFO
96 COAUTHINFO* pAuthInfo;
100 typedef enum tagCLSCTX
102 CLSCTX_INPROC_SERVER = 0x1,
103 CLSCTX_INPROC_HANDLER = 0x2,
104 CLSCTX_LOCAL_SERVER = 0x4,
105 CLSCTX_INPROC_SERVER16 = 0x8,
106 CLSCTX_REMOTE_SERVER = 0x10,
107 CLSCTX_INPROC_HANDLER16 = 0x20,
108 CLSCTX_INPROC_SERVERX86 = 0x40,
109 CLSCTX_INPROC_HANDLERX86 = 0x80,
110 CLSCTX_ESERVER_HANDLER = 0x100
113 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
114 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
115 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
117 typedef enum tagMSHLFLAGS
119 MSHLFLAGS_NORMAL = 0,
120 MSHLFLAGS_TABLESTRONG = 1,
121 MSHLFLAGS_TABLEWEAK = 2,
125 typedef enum tagMSHCTX
128 MSHCTX_NOSHAREDMEM = 1,
129 MSHCTX_DIFFERENTMACHINE = 2,
133 typedef unsigned short VARTYPE;
135 typedef ULONG PROPID;
137 #ifndef _tagBLOB_DEFINED
138 #define _tagBLOB_DEFINED
139 #define _BLOB_DEFINED
140 #define _LPBLOB_DEFINED
141 typedef struct tagBLOB
148 #ifndef _tagCY_DEFINED
149 #define _tagCY_DEFINED
151 typedef union tagCY {
156 #else /* defined(BIG_ENDIAN) */
159 #endif /* defined(BIG_ENDIAN) */
164 #endif /* _tagCY_DEFINED */
167 * 0 == FALSE and -1 == TRUE
169 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
170 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
171 typedef short VARIANT_BOOL,_VARIANT_BOOL;
173 typedef struct tagCLIPDATA
180 /* Macro to calculate the size of the above pClipData */
181 #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
187 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
191 DWORD dwHighDateTime;
192 } FILETIME, *LPFILETIME;
193 #endif /* _FILETIME_ */
195 #ifndef _SECURITY_DEFINED
196 #define _SECURITY_DEFINED
200 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
202 typedef struct _SID {
204 BYTE SubAuthorityCount;
205 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
206 DWORD SubAuthority[1];
213 typedef struct _ACL {
221 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
223 /* The security descriptor structure */
227 SECURITY_DESCRIPTOR_CONTROL Control;
232 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
234 #endif /* _SECURITY_DEFINED */
236 #ifndef _ROTFLAGS_DEFINED
237 #define _ROTFLAGS_DEFINED
238 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
239 #define ROTFLAGS_ALLOWANYCLIENT 0x2
240 #endif /* !defined(_ROTFLAGS_DEFINED) */
242 #endif /* __WINE_WTYPES_H */