2 * Defines the basic types used by COM interfaces.
5 #ifndef __WINE_WTYPES_H
6 #define __WINE_WTYPES_H
12 typedef WORD CLIPFORMAT
, *LPCLIPFORMAT
;
14 typedef CHAR OLECHAR16
;
15 typedef WCHAR OLECHAR
;
17 typedef LPSTR LPOLESTR16
;
18 typedef LPWSTR LPOLESTR
;
20 typedef LPCSTR LPCOLESTR16
;
21 typedef LPCWSTR LPCOLESTR
;
23 typedef OLECHAR16
*BSTR16
;
24 typedef OLECHAR
*BSTR
;
26 typedef BSTR16
*LPBSTR16
;
31 typedef __uint64 DWORDLONG
, *PDWORDLONG
;
36 typedef __int64 LONGLONG
, *PLONGLONG
;
37 typedef __uint64 ULONGLONG
, *PULONGLONG
;
41 #define OLESTR(x) L##x
43 typedef enum tagDVASPECT
46 DVASPECT_THUMBNAIL
= 2,
55 STGC_ONLYIFCURRENT
= 2,
56 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
= 4
59 typedef struct _COAUTHIDENTITY
70 typedef struct _COAUTHINFO
74 LPWSTR pwszServerPrincName
;
76 DWORD dwImpersonationLevel
;
77 COAUTHIDENTITY
* pAuthIdentityData
;
81 typedef struct _COSERVERINFO
85 COAUTHINFO
* pAuthInfo
;
89 typedef enum tagCLSCTX
91 CLSCTX_INPROC_SERVER
= 0x1,
92 CLSCTX_INPROC_HANDLER
= 0x2,
93 CLSCTX_LOCAL_SERVER
= 0x4,
94 CLSCTX_INPROC_SERVER16
= 0x8,
95 CLSCTX_REMOTE_SERVER
= 0x10,
96 CLSCTX_INPROC_HANDLER16
= 0x20,
97 CLSCTX_INPROC_SERVERX86
= 0x40,
98 CLSCTX_INPROC_HANDLERX86
= 0x80
101 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
102 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
103 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
105 typedef unsigned short VARTYPE
;
107 typedef ULONG PROPID
;
109 #ifndef _tagBLOB_DEFINED
110 #define _tagBLOB_DEFINED
111 #define _BLOB_DEFINED
112 #define _LPBLOB_DEFINED
113 typedef struct tagBLOB
120 #ifndef _tagCY_DEFINED
121 #define _tagCY_DEFINED
123 typedef union tagCY
{
128 #else /* defined(BIG_ENDIAN) */
131 #endif /* defined(BIG_ENDIAN) */
136 #endif /* _tagCY_DEFINED */
139 * 0 == FALSE and -1 == TRUE
141 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
142 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
143 typedef short VARIANT_BOOL
,_VARIANT_BOOL
;
145 typedef struct tagCLIPDATA
152 /* Macro to calculate the size of the above pClipData */
153 #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
159 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
163 DWORD dwHighDateTime
;
164 } FILETIME
, *LPFILETIME
;
165 #endif /* _FILETIME_ */
167 #ifndef _SECURITY_DEFINED
168 #define _SECURITY_DEFINED
172 } SID_IDENTIFIER_AUTHORITY
,*PSID_IDENTIFIER_AUTHORITY
;
174 typedef struct _SID
{
176 BYTE SubAuthorityCount
;
177 SID_IDENTIFIER_AUTHORITY IdentifierAuthority
;
178 DWORD SubAuthority
[1];
185 typedef struct _ACL
{
193 typedef DWORD SECURITY_INFORMATION
;
194 typedef WORD SECURITY_DESCRIPTOR_CONTROL
, *PSECURITY_DESCRIPTOR_CONTROL
;
195 typedef DWORD ACCESS_MASK
, *PACCESS_MASK
;
197 typedef PVOID PGENERIC_MAPPING
;
199 /* The security descriptor structure */
203 SECURITY_DESCRIPTOR_CONTROL Control
;
208 } SECURITY_DESCRIPTOR
, *PSECURITY_DESCRIPTOR
;
210 #ifndef _ROTFLAGS_DEFINED
211 #define _ROTFLAGS_DEFINED
212 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
213 #define ROTFLAGS_ALLOWANYCLIENT 0x2
214 #endif /* !defined(_ROTFLAGS_DEFINED) */
216 #endif /* _SECURITY_DEFINED */
219 #endif /* __WINE_WTYPES_H */