2 * Defines the basic types used by COM interfaces.
5 #ifndef __WINE_WTYPES_H
6 #define __WINE_WTYPES_H
11 /* FIXME: this line should be in rpcndr.h */
12 typedef unsigned char byte;
14 /* FIXME: and the following group should be in rpcdce.h */
15 typedef void* RPC_AUTH_IDENTITY_HANDLE;
16 typedef void* RPC_AUTHZ_HANDLE;
19 typedef WORD CLIPFORMAT, *LPCLIPFORMAT;
21 typedef CHAR OLECHAR16;
22 typedef WCHAR OLECHAR;
24 typedef LPSTR LPOLESTR16;
25 typedef LPWSTR LPOLESTR;
27 typedef LPCSTR LPCOLESTR16;
28 typedef LPCWSTR LPCOLESTR;
30 typedef OLECHAR16 *BSTR16;
31 typedef OLECHAR *BSTR;
33 typedef BSTR16 *LPBSTR16;
37 #define OLESTR(x) L##x
51 typedef GUID CLSID,*LPCLSID;
52 typedef GUID IID,*LPIID;
53 typedef GUID FMTID,*LPFMTID;
55 #define REFGUID const GUID &
56 #define REFCLSID const CLSID &
57 #define REFIID const IID &
58 #define REFFMTID const FMTID &
60 #define REFGUID const GUID* const
61 #define REFCLSID const CLSID* const
62 #define REFIID const IID* const
63 #define REFFMTID const FMTID* const
64 #endif // !__cplusplus
66 #define GUID_NULL ((GUID*)NULL) /* Is this right? */
67 #define CLSID_NULL ((REFCLSID)NULL)
69 typedef enum tagDVASPECT
72 DVASPECT_THUMBNAIL = 2,
81 STGC_ONLYIFCURRENT = 2,
82 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4
85 #define DECLARE_HANDLE(a) typedef HANDLE16 a##16; typedef HANDLE a
86 DECLARE_HANDLE(HMETAFILEPICT);
89 typedef struct _COAUTHIDENTITY
100 typedef struct _COAUTHINFO
104 LPWSTR pwszServerPrincName;
106 DWORD dwImpersonationLevel;
107 COAUTHIDENTITY* pAuthIdentityData;
108 DWORD dwCapabilities;
111 typedef struct _COSERVERINFO
115 COAUTHINFO* pAuthInfo;
119 typedef enum tagCLSCTX
121 CLSCTX_INPROC_SERVER = 0x1,
122 CLSCTX_INPROC_HANDLER = 0x2,
123 CLSCTX_LOCAL_SERVER = 0x4,
124 CLSCTX_INPROC_SERVER16 = 0x8,
125 CLSCTX_REMOTE_SERVER = 0x10,
126 CLSCTX_INPROC_HANDLER16 = 0x20,
127 CLSCTX_INPROC_SERVERX86 = 0x40,
128 CLSCTX_INPROC_HANDLERX86 = 0x80
131 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
132 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
133 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
135 typedef unsigned short VARTYPE;
137 typedef ULONG PROPID;
139 typedef struct tagBLOB
145 #ifndef _tagCY_DEFINED
146 #define _tagCY_DEFINED
160 #endif /* _tagCY_DEFINED */
163 * 0 == FALSE and -1 == TRUE
165 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
166 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
167 typedef short VARIANT_BOOL,_VARIANT_BOOL;
169 typedef struct tagCLIPDATA
176 // Macro to calculate the size of the above pClipData
177 #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
183 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
187 DWORD dwHighDateTime;
188 } FILETIME, *LPFILETIME;
189 #endif /* _FILETIME_ */
191 #ifndef _SECURITY_DEFINED
192 #define _SECURITY_DEFINED
196 } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
198 typedef struct _SID {
200 BYTE SubAuthorityCount;
201 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
202 DWORD SubAuthority[1];
209 typedef struct _ACL {
217 typedef DWORD SECURITY_INFORMATION;
218 typedef WORD SECURITY_DESCRIPTOR_CONTROL;
220 /* The security descriptor structure */
224 SECURITY_DESCRIPTOR_CONTROL Control;
229 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
231 #ifndef _ROTFLAGS_DEFINED
232 #define _ROTFLAGS_DEFINED
233 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
234 #define ROTFLAGS_ALLOWANYCLIENT 0x2
235 #endif // !_ROTFLAGS_DEFINED
237 #endif /* _SECURITY_DEFINED */
240 #endif /* __WINE_WTYPES_H */