|  | /* | 
|  | * Defines the basic types used by COM interfaces. | 
|  | */ | 
|  |  | 
|  | #ifndef __WINE_WTYPES_H | 
|  | #define __WINE_WTYPES_H | 
|  |  | 
|  |  | 
|  | #include "windef.h" | 
|  |  | 
|  | /* FIXME: this line should be in rpcndr.h */ | 
|  | typedef unsigned char byte; | 
|  |  | 
|  | /* FIXME: and the following group should be in rpcdce.h */ | 
|  | typedef void* RPC_AUTH_IDENTITY_HANDLE; | 
|  | typedef void* RPC_AUTHZ_HANDLE; | 
|  |  | 
|  |  | 
|  | typedef WORD CLIPFORMAT, *LPCLIPFORMAT; | 
|  |  | 
|  | typedef CHAR		OLECHAR16; | 
|  | typedef WCHAR		OLECHAR; | 
|  |  | 
|  | typedef LPSTR		LPOLESTR16; | 
|  | typedef LPWSTR		LPOLESTR; | 
|  |  | 
|  | typedef LPCSTR		LPCOLESTR16; | 
|  | typedef LPCWSTR		LPCOLESTR; | 
|  |  | 
|  | typedef OLECHAR16	*BSTR16; | 
|  | typedef OLECHAR	*BSTR; | 
|  |  | 
|  | typedef BSTR16		*LPBSTR16; | 
|  | typedef BSTR		*LPBSTR; | 
|  |  | 
|  | #define OLESTR16(x) x | 
|  | #define OLESTR(x) L##x | 
|  |  | 
|  | #ifndef GUID_DEFINED | 
|  | #define GUID_DEFINED | 
|  | typedef struct _GUID | 
|  | { | 
|  | DWORD Data1; | 
|  | WORD  Data2; | 
|  | WORD  Data3; | 
|  | BYTE  Data4[8]; | 
|  | } GUID; | 
|  | #endif | 
|  |  | 
|  | typedef GUID  *LPGUID; | 
|  | typedef GUID  CLSID,*LPCLSID; | 
|  | typedef GUID	IID,*LPIID; | 
|  | typedef GUID	FMTID,*LPFMTID; | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | #define REFGUID             const GUID & | 
|  | #define REFCLSID            const CLSID & | 
|  | #define REFIID              const IID & | 
|  | #define REFFMTID            const FMTID & | 
|  | #else /* !defined(__cplusplus) && !defined(CINTERFACE) */ | 
|  | #define REFGUID             const GUID* const | 
|  | #define REFCLSID            const CLSID* const | 
|  | #define REFIID              const IID* const | 
|  | #define REFFMTID            const FMTID* const | 
|  | #endif /* !defined(__cplusplus) && !defined(CINTERFACE) */ | 
|  |  | 
|  | extern const IID GUID_NULL; | 
|  | #define IID_NULL            GUID_NULL | 
|  | #define CLSID_NULL GUID_NULL | 
|  | #define FMTID_NULL          GUID_NULL | 
|  |  | 
|  | typedef enum tagDVASPECT | 
|  | { | 
|  | DVASPECT_CONTENT   = 1, | 
|  | DVASPECT_THUMBNAIL = 2, | 
|  | DVASPECT_ICON      = 4, | 
|  | DVASPECT_DOCPRINT  = 8 | 
|  | } DVASPECT; | 
|  |  | 
|  | typedef enum tagSTGC | 
|  | { | 
|  | STGC_DEFAULT = 0, | 
|  | STGC_OVERWRITE = 1, | 
|  | STGC_ONLYIFCURRENT = 2, | 
|  | STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4 | 
|  | } STGC; | 
|  |  | 
|  | typedef struct _COAUTHIDENTITY | 
|  | { | 
|  | USHORT* User; | 
|  | ULONG UserLength; | 
|  | USHORT* Domain; | 
|  | ULONG DomainLength; | 
|  | USHORT* Password; | 
|  | ULONG PasswordLength; | 
|  | ULONG Flags; | 
|  | } COAUTHIDENTITY; | 
|  |  | 
|  | typedef struct _COAUTHINFO | 
|  | { | 
|  | DWORD dwAuthnSvc; | 
|  | DWORD dwAuthzSvc; | 
|  | LPWSTR pwszServerPrincName; | 
|  | DWORD dwAuthnLevel; | 
|  | DWORD dwImpersonationLevel; | 
|  | COAUTHIDENTITY* pAuthIdentityData; | 
|  | DWORD dwCapabilities; | 
|  | } COAUTHINFO; | 
|  |  | 
|  | typedef struct _COSERVERINFO | 
|  | { | 
|  | DWORD dwReserved1; | 
|  | LPWSTR pwszName; | 
|  | COAUTHINFO* pAuthInfo; | 
|  | DWORD dwReserved2; | 
|  | } COSERVERINFO; | 
|  |  | 
|  | typedef enum tagCLSCTX | 
|  | { | 
|  | CLSCTX_INPROC_SERVER     = 0x1, | 
|  | CLSCTX_INPROC_HANDLER    = 0x2, | 
|  | CLSCTX_LOCAL_SERVER      = 0x4, | 
|  | CLSCTX_INPROC_SERVER16   = 0x8, | 
|  | CLSCTX_REMOTE_SERVER     = 0x10, | 
|  | CLSCTX_INPROC_HANDLER16  = 0x20, | 
|  | CLSCTX_INPROC_SERVERX86  = 0x40, | 
|  | CLSCTX_INPROC_HANDLERX86 = 0x80 | 
|  | } CLSCTX; | 
|  |  | 
|  | #define CLSCTX_INPROC           (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER) | 
|  | #define CLSCTX_ALL              (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER) | 
|  | #define CLSCTX_SERVER           (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER) | 
|  |  | 
|  | typedef unsigned short VARTYPE; | 
|  |  | 
|  | typedef ULONG PROPID; | 
|  |  | 
|  | #ifndef _tagBLOB_DEFINED | 
|  | #define _tagBLOB_DEFINED | 
|  | #define _BLOB_DEFINED | 
|  | #define _LPBLOB_DEFINED | 
|  | typedef struct tagBLOB | 
|  | { | 
|  | ULONG cbSize; | 
|  | BYTE *pBlobData; | 
|  | } BLOB, *LPBLOB; | 
|  | #endif | 
|  |  | 
|  | #ifndef _tagCY_DEFINED | 
|  | #define _tagCY_DEFINED | 
|  |  | 
|  | typedef union tagCY { | 
|  | struct { | 
|  | #ifdef BIG_ENDIAN | 
|  | LONG  Hi; | 
|  | LONG  Lo; | 
|  | #else /* defined(BIG_ENDIAN) */ | 
|  | ULONG Lo; | 
|  | LONG  Hi; | 
|  | #endif /* defined(BIG_ENDIAN) */ | 
|  | } DUMMYSTRUCTNAME; | 
|  | LONGLONG int64; | 
|  | } CY; | 
|  |  | 
|  | #endif /* _tagCY_DEFINED */ | 
|  |  | 
|  | /* | 
|  | * 0 == FALSE and -1 == TRUE | 
|  | */ | 
|  | #define VARIANT_TRUE     ((VARIANT_BOOL)0xFFFF) | 
|  | #define VARIANT_FALSE    ((VARIANT_BOOL)0x0000) | 
|  | typedef short VARIANT_BOOL,_VARIANT_BOOL; | 
|  |  | 
|  | typedef struct tagCLIPDATA | 
|  | { | 
|  | ULONG cbSize; | 
|  | long ulClipFmt; | 
|  | BYTE *pClipData; | 
|  | } CLIPDATA; | 
|  |  | 
|  | /* Macro to calculate the size of the above pClipData */ | 
|  | #define CBPCLIPDATA(clipdata)    ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) ) | 
|  |  | 
|  | typedef LONG SCODE; | 
|  |  | 
|  | #ifndef _FILETIME_ | 
|  | #define _FILETIME_ | 
|  | /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */ | 
|  | typedef struct | 
|  | { | 
|  | DWORD  dwLowDateTime; | 
|  | DWORD  dwHighDateTime; | 
|  | } FILETIME, *LPFILETIME; | 
|  | #endif /* _FILETIME_ */ | 
|  |  | 
|  | #ifndef _SECURITY_DEFINED | 
|  | #define _SECURITY_DEFINED | 
|  |  | 
|  | typedef struct { | 
|  | BYTE Value[6]; | 
|  | } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY; | 
|  |  | 
|  | typedef struct _SID { | 
|  | BYTE Revision; | 
|  | BYTE SubAuthorityCount; | 
|  | SID_IDENTIFIER_AUTHORITY IdentifierAuthority; | 
|  | DWORD SubAuthority[1]; | 
|  | } SID,*PSID; | 
|  |  | 
|  | /* | 
|  | * ACL | 
|  | */ | 
|  |  | 
|  | typedef struct _ACL { | 
|  | BYTE AclRevision; | 
|  | BYTE Sbz1; | 
|  | WORD AclSize; | 
|  | WORD AceCount; | 
|  | WORD Sbz2; | 
|  | } ACL, *PACL; | 
|  |  | 
|  | typedef DWORD SECURITY_INFORMATION; | 
|  | typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; | 
|  | typedef DWORD ACCESS_MASK, *PACCESS_MASK; | 
|  |  | 
|  | typedef PVOID PGENERIC_MAPPING; | 
|  |  | 
|  | /* The security descriptor structure */ | 
|  | typedef struct { | 
|  | BYTE Revision; | 
|  | BYTE Sbz1; | 
|  | SECURITY_DESCRIPTOR_CONTROL Control; | 
|  | PSID Owner; | 
|  | PSID Group; | 
|  | PACL Sacl; | 
|  | PACL Dacl; | 
|  | } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR; | 
|  |  | 
|  | #ifndef _ROTFLAGS_DEFINED | 
|  | #define _ROTFLAGS_DEFINED | 
|  | #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1 | 
|  | #define ROTFLAGS_ALLOWANYCLIENT 0x2 | 
|  | #endif /* !defined(_ROTFLAGS_DEFINED) */ | 
|  |  | 
|  | #endif /* _SECURITY_DEFINED */ | 
|  |  | 
|  |  | 
|  | #endif /* __WINE_WTYPES_H */ |