1999-01-17 17:32:32 +01:00
|
|
|
/*
|
|
|
|
* Defines the basic types used by COM interfaces.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_WTYPES_H
|
|
|
|
#define __WINE_WTYPES_H
|
|
|
|
|
|
|
|
|
1999-03-14 17:35:05 +01:00
|
|
|
#include "windef.h"
|
2000-07-15 21:53:50 +02:00
|
|
|
#include "rpc.h"
|
1999-02-17 18:45:54 +01:00
|
|
|
|
1999-01-17 17:32:32 +01:00
|
|
|
|
1999-02-26 12:11:13 +01:00
|
|
|
typedef WORD CLIPFORMAT, *LPCLIPFORMAT;
|
1999-01-17 17:32:32 +01:00
|
|
|
|
|
|
|
typedef CHAR OLECHAR16;
|
1999-02-26 12:11:13 +01:00
|
|
|
typedef WCHAR OLECHAR;
|
1999-01-17 17:32:32 +01:00
|
|
|
|
|
|
|
typedef LPSTR LPOLESTR16;
|
1999-02-26 12:11:13 +01:00
|
|
|
typedef LPWSTR LPOLESTR;
|
1999-01-17 17:32:32 +01:00
|
|
|
|
|
|
|
typedef LPCSTR LPCOLESTR16;
|
1999-02-26 12:11:13 +01:00
|
|
|
typedef LPCWSTR LPCOLESTR;
|
1999-01-17 17:32:32 +01:00
|
|
|
|
|
|
|
typedef OLECHAR16 *BSTR16;
|
1999-02-26 12:11:13 +01:00
|
|
|
typedef OLECHAR *BSTR;
|
1999-01-17 17:32:32 +01:00
|
|
|
|
|
|
|
typedef BSTR16 *LPBSTR16;
|
1999-02-26 12:11:13 +01:00
|
|
|
typedef BSTR *LPBSTR;
|
1999-01-17 17:32:32 +01:00
|
|
|
|
1999-03-14 14:47:00 +01:00
|
|
|
#define OLESTR16(x) x
|
|
|
|
#define OLESTR(x) L##x
|
|
|
|
|
1999-06-12 13:05:29 +02:00
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
1999-02-10 07:48:49 +01:00
|
|
|
#define REFGUID const GUID &
|
|
|
|
#define REFCLSID const CLSID &
|
1999-02-13 09:57:29 +01:00
|
|
|
#define REFIID const IID &
|
|
|
|
#define REFFMTID const FMTID &
|
1999-06-12 13:05:29 +02:00
|
|
|
#else /* !defined(__cplusplus) && !defined(CINTERFACE) */
|
1999-02-13 09:57:29 +01:00
|
|
|
#define REFGUID const GUID* const
|
|
|
|
#define REFCLSID const CLSID* const
|
|
|
|
#define REFIID const IID* const
|
|
|
|
#define REFFMTID const FMTID* const
|
1999-06-12 13:05:29 +02:00
|
|
|
#endif /* !defined(__cplusplus) && !defined(CINTERFACE) */
|
1999-01-17 17:32:32 +01:00
|
|
|
|
1999-04-01 13:47:09 +02:00
|
|
|
extern const IID GUID_NULL;
|
1999-06-05 17:23:20 +02:00
|
|
|
#define IID_NULL GUID_NULL
|
1999-04-01 13:47:09 +02:00
|
|
|
#define CLSID_NULL GUID_NULL
|
1999-06-05 17:23:20 +02:00
|
|
|
#define FMTID_NULL GUID_NULL
|
1999-03-10 19:03:53 +01:00
|
|
|
|
|
|
|
typedef enum tagDVASPECT
|
|
|
|
{
|
|
|
|
DVASPECT_CONTENT = 1,
|
|
|
|
DVASPECT_THUMBNAIL = 2,
|
|
|
|
DVASPECT_ICON = 4,
|
|
|
|
DVASPECT_DOCPRINT = 8
|
|
|
|
} DVASPECT;
|
1999-01-17 17:32:32 +01:00
|
|
|
|
1999-03-14 14:47:00 +01:00
|
|
|
typedef enum tagSTGC
|
|
|
|
{
|
|
|
|
STGC_DEFAULT = 0,
|
|
|
|
STGC_OVERWRITE = 1,
|
|
|
|
STGC_ONLYIFCURRENT = 2,
|
|
|
|
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4
|
|
|
|
} STGC;
|
|
|
|
|
1999-02-17 18:45:54 +01:00
|
|
|
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;
|
|
|
|
|
1999-01-17 17:32:32 +01:00
|
|
|
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)
|
|
|
|
|
1999-02-17 18:45:54 +01:00
|
|
|
typedef unsigned short VARTYPE;
|
|
|
|
|
|
|
|
typedef ULONG PROPID;
|
|
|
|
|
1999-06-05 17:23:20 +02:00
|
|
|
#ifndef _tagBLOB_DEFINED
|
|
|
|
#define _tagBLOB_DEFINED
|
|
|
|
#define _BLOB_DEFINED
|
|
|
|
#define _LPBLOB_DEFINED
|
1999-02-17 18:45:54 +01:00
|
|
|
typedef struct tagBLOB
|
|
|
|
{
|
|
|
|
ULONG cbSize;
|
|
|
|
BYTE *pBlobData;
|
1999-06-05 17:23:20 +02:00
|
|
|
} BLOB, *LPBLOB;
|
|
|
|
#endif
|
1999-02-17 18:45:54 +01:00
|
|
|
|
|
|
|
#ifndef _tagCY_DEFINED
|
|
|
|
#define _tagCY_DEFINED
|
1999-09-19 16:20:33 +02:00
|
|
|
|
|
|
|
typedef union tagCY {
|
1999-02-17 18:45:54 +01:00
|
|
|
struct {
|
|
|
|
#ifdef BIG_ENDIAN
|
1999-09-19 16:20:33 +02:00
|
|
|
LONG Hi;
|
|
|
|
LONG Lo;
|
|
|
|
#else /* defined(BIG_ENDIAN) */
|
|
|
|
ULONG Lo;
|
|
|
|
LONG Hi;
|
|
|
|
#endif /* defined(BIG_ENDIAN) */
|
|
|
|
} DUMMYSTRUCTNAME;
|
1999-02-17 18:45:54 +01:00
|
|
|
LONGLONG int64;
|
|
|
|
} CY;
|
1999-09-19 16:20:33 +02:00
|
|
|
|
1999-02-17 18:45:54 +01:00
|
|
|
#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;
|
|
|
|
|
1999-04-22 18:27:50 +02:00
|
|
|
/* Macro to calculate the size of the above pClipData */
|
1999-02-17 18:45:54 +01:00
|
|
|
#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;
|
|
|
|
|
1999-02-20 17:48:53 +01:00
|
|
|
typedef DWORD SECURITY_INFORMATION;
|
1999-07-04 13:01:21 +02:00
|
|
|
typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
|
|
|
|
typedef DWORD ACCESS_MASK, *PACCESS_MASK;
|
|
|
|
|
|
|
|
typedef PVOID PGENERIC_MAPPING;
|
1999-02-17 18:45:54 +01:00
|
|
|
|
|
|
|
/* 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;
|
|
|
|
|
1999-03-23 14:48:56 +01:00
|
|
|
#ifndef _ROTFLAGS_DEFINED
|
|
|
|
#define _ROTFLAGS_DEFINED
|
|
|
|
#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
|
|
|
|
#define ROTFLAGS_ALLOWANYCLIENT 0x2
|
1999-04-22 18:27:50 +02:00
|
|
|
#endif /* !defined(_ROTFLAGS_DEFINED) */
|
1999-03-23 14:48:56 +01:00
|
|
|
|
1999-02-17 18:45:54 +01:00
|
|
|
#endif /* _SECURITY_DEFINED */
|
|
|
|
|
1999-01-17 17:32:32 +01:00
|
|
|
|
|
|
|
#endif /* __WINE_WTYPES_H */
|