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
;
48 typedef GUID CLSID
,*LPCLSID
;
49 typedef GUID IID
,*LPIID
;
50 typedef GUID FMTID
,*LPFMTID
;
52 #define REFGUID const GUID &
53 #define REFCLSID const CLSID &
54 #define REFIID const IID &
55 #define REFFMTID const FMTID &
57 #define REFGUID const GUID* const
58 #define REFCLSID const CLSID* const
59 #define REFIID const IID* const
60 #define REFFMTID const FMTID* const
61 #endif // !__cplusplus
63 #define GUID_NULL ((GUID*)NULL) /* Is this right? */
64 #define CLSID_NULL ((REFCLSID)NULL)
66 typedef enum tagDVASPECT
69 DVASPECT_THUMBNAIL
= 2,
74 #define DECLARE_HANDLE(a) typedef HANDLE16 a##16; typedef HANDLE a
75 DECLARE_HANDLE(HMETAFILEPICT
);
78 typedef struct _COAUTHIDENTITY
89 typedef struct _COAUTHINFO
93 LPWSTR pwszServerPrincName
;
95 DWORD dwImpersonationLevel
;
96 COAUTHIDENTITY
* pAuthIdentityData
;
100 typedef struct _COSERVERINFO
104 COAUTHINFO
* pAuthInfo
;
108 typedef enum tagCLSCTX
110 CLSCTX_INPROC_SERVER
= 0x1,
111 CLSCTX_INPROC_HANDLER
= 0x2,
112 CLSCTX_LOCAL_SERVER
= 0x4,
113 CLSCTX_INPROC_SERVER16
= 0x8,
114 CLSCTX_REMOTE_SERVER
= 0x10,
115 CLSCTX_INPROC_HANDLER16
= 0x20,
116 CLSCTX_INPROC_SERVERX86
= 0x40,
117 CLSCTX_INPROC_HANDLERX86
= 0x80
120 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
121 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
122 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
124 typedef unsigned short VARTYPE
;
126 typedef ULONG PROPID
;
128 typedef struct tagBLOB
134 #ifndef _tagCY_DEFINED
135 #define _tagCY_DEFINED
149 #endif /* _tagCY_DEFINED */
152 * 0 == FALSE and -1 == TRUE
154 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
155 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
156 typedef short VARIANT_BOOL
,_VARIANT_BOOL
;
158 typedef struct tagCLIPDATA
165 // Macro to calculate the size of the above pClipData
166 #define CBPCLIPDATA(clipdata) ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
172 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
176 DWORD dwHighDateTime
;
177 } FILETIME
, *LPFILETIME
;
178 #endif /* _FILETIME_ */
180 #ifndef _SECURITY_DEFINED
181 #define _SECURITY_DEFINED
185 } SID_IDENTIFIER_AUTHORITY
,*PSID_IDENTIFIER_AUTHORITY
;
187 typedef struct _SID
{
189 BYTE SubAuthorityCount
;
190 SID_IDENTIFIER_AUTHORITY IdentifierAuthority
;
191 DWORD SubAuthority
[1];
198 typedef struct _ACL
{
206 typedef DWORD SECURITY_INFORMATION
;
207 typedef WORD SECURITY_DESCRIPTOR_CONTROL
;
209 /* The security descriptor structure */
213 SECURITY_DESCRIPTOR_CONTROL Control
;
218 } SECURITY_DESCRIPTOR
, *PSECURITY_DESCRIPTOR
;
220 #endif /* _SECURITY_DEFINED */
223 #endif /* __WINE_WTYPES_H */