2 * Defines the basic types used by COM interfaces.
5 #ifndef __WINE_WTYPES_H
6 #define __WINE_WTYPES_H
13 typedef WORD CLIPFORMAT
, *LPCLIPFORMAT
;
15 /* FIXME: does not belong here */
16 typedef CHAR OLECHAR16
;
17 typedef LPSTR LPOLESTR16
;
18 typedef LPCSTR LPCOLESTR16
;
19 typedef OLECHAR16
*BSTR16
;
20 typedef BSTR16
*LPBSTR16
;
23 typedef WCHAR OLECHAR
;
24 typedef LPWSTR LPOLESTR
;
25 typedef LPCWSTR LPCOLESTR
;
26 typedef OLECHAR
*BSTR
;
31 typedef __uint64 DWORDLONG
, *PDWORDLONG
;
36 typedef __int64 LONGLONG
, *PLONGLONG
;
37 typedef __uint64 ULONGLONG
, *PULONGLONG
;
40 #define OLESTR(x) L##x
42 typedef enum tagDVASPECT
45 DVASPECT_THUMBNAIL
= 2,
54 STGC_ONLYIFCURRENT
= 2,
55 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
= 4,
59 typedef enum tagSTGMOVE
63 STGMOVE_SHALLOWCOPY
= 2
67 typedef struct _COAUTHIDENTITY
78 typedef struct _COAUTHINFO
82 LPWSTR pwszServerPrincName
;
84 DWORD dwImpersonationLevel
;
85 COAUTHIDENTITY
* pAuthIdentityData
;
89 typedef struct _COSERVERINFO
93 COAUTHINFO
* pAuthInfo
;
97 typedef enum tagCLSCTX
99 CLSCTX_INPROC_SERVER
= 0x1,
100 CLSCTX_INPROC_HANDLER
= 0x2,
101 CLSCTX_LOCAL_SERVER
= 0x4,
102 CLSCTX_INPROC_SERVER16
= 0x8,
103 CLSCTX_REMOTE_SERVER
= 0x10,
104 CLSCTX_INPROC_HANDLER16
= 0x20,
105 CLSCTX_INPROC_SERVERX86
= 0x40,
106 CLSCTX_INPROC_HANDLERX86
= 0x80,
107 CLSCTX_ESERVER_HANDLER
= 0x100
110 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
111 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
112 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
114 typedef enum tagMSHLFLAGS
116 MSHLFLAGS_NORMAL
= 0,
117 MSHLFLAGS_TABLESTRONG
= 1,
118 MSHLFLAGS_TABLEWEAK
= 2,
122 typedef enum tagMSHCTX
125 MSHCTX_NOSHAREDMEM
= 1,
126 MSHCTX_DIFFERENTMACHINE
= 2,
130 typedef unsigned short VARTYPE
;
132 typedef ULONG PROPID
;
134 #ifndef _tagBLOB_DEFINED
135 #define _tagBLOB_DEFINED
136 #define _BLOB_DEFINED
137 #define _LPBLOB_DEFINED
138 typedef struct tagBLOB
145 #ifndef _tagCY_DEFINED
146 #define _tagCY_DEFINED
148 typedef union tagCY
{
153 #else /* defined(BIG_ENDIAN) */
156 #endif /* defined(BIG_ENDIAN) */
161 #endif /* _tagCY_DEFINED */
164 * 0 == FALSE and -1 == TRUE
166 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
167 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
168 typedef short VARIANT_BOOL
,_VARIANT_BOOL
;
170 typedef struct tagCLIPDATA
177 /* Macro to calculate the size of the above pClipData */
178 #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
184 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
188 DWORD dwHighDateTime
;
189 } FILETIME
, *LPFILETIME
;
190 #endif /* _FILETIME_ */
192 #ifndef _SECURITY_DEFINED
193 #define _SECURITY_DEFINED
197 } SID_IDENTIFIER_AUTHORITY
,*PSID_IDENTIFIER_AUTHORITY
;
199 typedef struct _SID
{
201 BYTE SubAuthorityCount
;
202 SID_IDENTIFIER_AUTHORITY IdentifierAuthority
;
203 DWORD SubAuthority
[1];
210 typedef struct _ACL
{
218 typedef DWORD SECURITY_INFORMATION
;
219 typedef WORD SECURITY_DESCRIPTOR_CONTROL
, *PSECURITY_DESCRIPTOR_CONTROL
;
220 typedef DWORD ACCESS_MASK
, *PACCESS_MASK
;
222 typedef PVOID PGENERIC_MAPPING
;
224 /* The security descriptor structure */
228 SECURITY_DESCRIPTOR_CONTROL Control
;
233 } SECURITY_DESCRIPTOR
, *PSECURITY_DESCRIPTOR
;
235 #endif /* _SECURITY_DEFINED */
237 #ifndef _ROTFLAGS_DEFINED
238 #define _ROTFLAGS_DEFINED
239 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
240 #define ROTFLAGS_ALLOWANYCLIENT 0x2
241 #endif /* !defined(_ROTFLAGS_DEFINED) */
243 #endif /* __WINE_WTYPES_H */