Added more types to wtypes.idl.

This commit is contained in:
Ove Kaaven 2002-12-03 21:42:17 +00:00 committed by Alexandre Julliard
parent 2a5f290ce1
commit 729dd8bf28
4 changed files with 471 additions and 98 deletions

View file

@ -83,6 +83,9 @@ static const long I4_MIN = -(2147483648U);
static const DATE DATE_MIN = -657434; static const DATE DATE_MIN = -657434;
static const DATE DATE_MAX = 2958465; static const DATE DATE_MAX = 2958465;
/* the largest valid type
*/
#define VT_MAXVALIDTYPE VT_CLSID
/* This mask is used to set a flag in wReserved1 of /* This mask is used to set a flag in wReserved1 of
* the VARIANTARG structure. The flag indicates if * the VARIANTARG structure. The flag indicates if

View file

@ -491,66 +491,6 @@ typedef enum tagVARFLAGS
} VARFLAGS; } VARFLAGS;
/*
* Data types for Variants.
*/
enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_RECORD = 36,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000,
VT_RESERVED = 0x8000,
VT_ILLEGAL = 0xffff,
VT_ILLEGALMASKED = 0xfff,
VT_TYPEMASK = 0xfff
};
/* the largest valide type
*/
#define VT_MAXVALIDTYPE VT_CLSID
/* /*
* Declarations of the VARIANT structure and the VARIANT APIs. * Declarations of the VARIANT structure and the VARIANT APIs.
*/ */
@ -863,4 +803,3 @@ ICOM_DEFINE(IEnumVARIANT,IUnknown)
#define IEnumVARIANT_Clone(p,a) ICOM_CALL1(Clone,p,a) #define IEnumVARIANT_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif /* __WINE_WINE_OBJ_OLEAUT_H */ #endif /* __WINE_WINE_OBJ_OLEAUT_H */

View file

@ -4,6 +4,9 @@
#ifndef __WIDL_WTYPES_H #ifndef __WIDL_WTYPES_H
#define __WIDL_WTYPES_H #define __WIDL_WTYPES_H
#ifdef __cplusplus
extern "C" {
#endif
#include "basetsd.h" #include "basetsd.h"
#include "guiddef.h" #include "guiddef.h"
typedef CHAR OLECHAR16; typedef CHAR OLECHAR16;
@ -57,6 +60,16 @@ typedef boolean BOOLEAN;
typedef void *HANDLE; typedef void *HANDLE;
typedef void *HMODULE;
typedef void *HINSTANCE;
typedef void *HRGN;
typedef void *HTASK;
typedef void *HKEY;
typedef double DATE; typedef double DATE;
typedef LONG HRESULT; typedef LONG HRESULT;
@ -69,6 +82,14 @@ typedef __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG; typedef unsigned __int64 ULONGLONG;
typedef struct _LARGE_INTEGER {
LONGLONG QuadPart;
} LARGE_INTEGER;
typedef struct _ULARGE_INTEGER {
ULONGLONG QuadPart;
} ULARGE_INTEGER;
typedef struct _SID_IDENTIFIER_AUTHORITY { typedef struct _SID_IDENTIFIER_AUTHORITY {
UCHAR Value[6]; UCHAR Value[6];
} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY; } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
@ -103,6 +124,25 @@ typedef struct _SECURITY_DESCRIPTOR {
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR; } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
#endif /* winnt.h */ #endif /* winnt.h */
#ifndef _PALETTEENTRY_DEFINED
#define _PALETTEENTRY_DEFINED
typedef struct tagPALETTEENTRY {
BYTE peRed;
BYTE peGreen;
BYTE peBlue;
BYTE peFlags;
} PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
#endif
#ifndef _LOGPALETTE_DEFINED
#define _LOGPALETTE_DEFINED
typedef struct tagLOGPALETTE {
WORD palVersion;
WORD palNumEntries;
PALETTEENTRY palPalEntry[1];
} LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
#endif
#ifndef _FILETIME_ #ifndef _FILETIME_
#define _FILETIME_ #define _FILETIME_
typedef struct _FILETIME { typedef struct _FILETIME {
@ -155,22 +195,22 @@ typedef struct _COSERVERINFO {
#define ROTFLAGS_ALLOWANYCLIENT 0x2 #define ROTFLAGS_ALLOWANYCLIENT 0x2
#endif #endif
typedef enum tagCLSCTX { typedef enum tagCLSCTX {
CLSCTX_INPROC_SERVER = 1, CLSCTX_INPROC_SERVER = 0x1,
CLSCTX_INPROC_HANDLER = 2, CLSCTX_INPROC_HANDLER = 0x2,
CLSCTX_LOCAL_SERVER = 4, CLSCTX_LOCAL_SERVER = 0x4,
CLSCTX_INPROC_SERVER16 = 8, CLSCTX_INPROC_SERVER16 = 0x8,
CLSCTX_REMOTE_SERVER = 16, CLSCTX_REMOTE_SERVER = 0x10,
CLSCTX_INPROC_HANDLER16 = 32, CLSCTX_INPROC_HANDLER16 = 0x20,
CLSCTX_INPROC_SERVERX86 = 64, CLSCTX_INPROC_SERVERX86 = 0x40,
CLSCTX_INPROC_HANDLERX86 = 128, CLSCTX_INPROC_HANDLERX86 = 0x80,
CLSCTX_ESERVER_HANDLER = 256, CLSCTX_ESERVER_HANDLER = 0x100,
CLSCTX_NO_CODE_DOWNLOAD = 1024, CLSCTX_NO_CODE_DOWNLOAD = 0x400,
CLSCTX_NO_CUSTOM_MARSHAL = 4096, CLSCTX_NO_CUSTOM_MARSHAL = 0x1000,
CLSCTX_ENABLE_CODE_DOWNLOAD = 8192, CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
CLSCTX_NO_FAILURE_LOG = 16384, CLSCTX_NO_FAILURE_LOG = 0x4000,
CLSCTX_DISABLE_AAA = 32768, CLSCTX_DISABLE_AAA = 0x8000,
CLSCTX_ENABLE_AAA = 65536, CLSCTX_ENABLE_AAA = 0x10000,
CLSCTX_FROM_DEFAULT_CONTEXT = 131072 CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000
} CLSCTX; } CLSCTX;
#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER) #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
@ -198,6 +238,14 @@ typedef struct _BYTE_BLOB {
typedef BYTE_BLOB *UP_BYTE_BLOB; typedef BYTE_BLOB *UP_BYTE_BLOB;
typedef struct _FLAGGED_BYTE_BLOB {
unsigned long fFlags;
unsigned long clSize;
byte abData[1];
} FLAGGED_BYTE_BLOB;
typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
typedef struct _FLAGGED_WORD_BLOB { typedef struct _FLAGGED_WORD_BLOB {
unsigned long fFlags; unsigned long fFlags;
unsigned long clSize; unsigned long clSize;
@ -206,11 +254,35 @@ typedef struct _FLAGGED_WORD_BLOB {
typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB; typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
typedef struct _BYTE_SIZEDARR {
unsigned long clSize;
byte *pData;
} BYTE_SIZEDARR;
typedef struct _SHORT_SIZEDARR {
unsigned long clSize;
unsigned short *pData;
} WORD_SIZEDARR;
typedef struct _LONG_SIZEDARR {
unsigned long clSize;
unsigned long *pData;
} DWORD_SIZEDARR;
typedef struct _HYPER_SIZEDARR {
unsigned long clSize;
hyper *pData;
} HYPER_SIZEDARR;
#define WDT_INPROC_CALL (0x48746457)
#define WDT_REMOTE_CALL (0x52746457)
typedef struct _userCLIPFORMAT { typedef struct _userCLIPFORMAT {
long fContext; long fContext;
union { union {
DWORD dwValue; DWORD dwValue;
WCHAR *pwszName; LPWSTR pwszName;
} u; } u;
} userCLIPFORMAT; } userCLIPFORMAT;
@ -218,6 +290,23 @@ typedef userCLIPFORMAT *wireCLIPFORMAT;
typedef WORD CLIPFORMAT; typedef WORD CLIPFORMAT;
typedef struct tagRemHGLOBAL {
long fNullHGlobal;
unsigned long cbData;
byte data[1];
} RemHGLOBAL;
typedef struct _userHGLOBAL {
long fContext;
union {
long hInproc;
FLAGGED_BYTE_BLOB *hRemote;
long hGlobal;
} u;
} userHGLOBAL;
typedef userHGLOBAL *wireHGLOBAL;
typedef struct tagRemHMETAFILEPICT { typedef struct tagRemHMETAFILEPICT {
long mm; long mm;
long xExt; long xExt;
@ -255,7 +344,82 @@ typedef struct _userHMETAFILEPICT {
typedef userHMETAFILEPICT *wireHMETAFILEPICT; typedef userHMETAFILEPICT *wireHMETAFILEPICT;
typedef struct tagRemHENHMETAFILE {
unsigned long cbData;
byte data[1];
} RemHENHMETAFILE;
typedef struct _userHENHMETAFILE {
long fContext;
union {
long hInproc;
BYTE_BLOB *hRemote;
long hGlobal;
} u;
} userHENHMETAFILE;
typedef userHENHMETAFILE *wireHENHMETAFILE;
typedef struct tagRemHBITMAP {
unsigned long cbData;
byte data[1];
} RemHBITMAP;
typedef struct _userBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
ULONG cbSize;
byte pBuffer[1];
} userBITMAP;
typedef struct _userHBITMAP {
long fContext;
union {
long hInproc;
userBITMAP *hRemote;
long hGlobal;
} u;
} userHBITMAP;
typedef userHBITMAP *wireHBITMAP;
typedef struct tagRemHPALETTE {
unsigned long cbData;
byte data[1];
} RemHPALETTE;
typedef struct tagrpcLOGPALETTE {
WORD palVersion;
WORD palNumEntries;
PALETTEENTRY palPalEntry[1];
} rpcLOGPALETTE;
typedef struct _userHPALETTE {
long fContext;
union {
long hInproc;
rpcLOGPALETTE *hRemote;
long hGlobal;
} u;
} userHPALETTE;
typedef userHPALETTE *wireHPALETTE;
#if 0 #if 0
typedef void *HGLOBAL;
typedef HGLOBAL HLOCAL;
typedef void *HBITMAP;
typedef void *HPALETTE;
typedef void *HENHMETAFILE;
typedef void *HMETAFILE; typedef void *HMETAFILE;
#endif #endif
@ -278,11 +442,23 @@ typedef GUID IID;
typedef IID *LPIID; typedef IID *LPIID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef GUID FMTID;
typedef FMTID *LPFMTID;
#if 0 #if 0
typedef GUID *REFGUID; typedef GUID *REFGUID;
typedef IID *REFIID; typedef IID *REFIID;
typedef CLSID *REFCLSID;
typedef FMTID *REFFMTID;
#endif #endif
#endif /* guiddef.h */ #endif /* guiddef.h */
typedef enum tagDVASPECT { typedef enum tagDVASPECT {
@ -349,6 +525,11 @@ typedef VARIANT_BOOL _VARIANT_BOOL;
#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF) #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
#define VARIANT_FALSE ((VARIANT_BOOL)0x0000) #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
typedef struct tagBSTRBLOB {
ULONG cbSize;
BYTE *pData;
} BSTRBLOB, *LPBSTRBLOB;
typedef struct tagBLOB { typedef struct tagBLOB {
ULONG cbSize; ULONG cbSize;
BYTE *pBlobData; BYTE *pBlobData;
@ -365,4 +546,59 @@ typedef ULONG PROPID;
typedef unsigned short VARTYPE; typedef unsigned short VARTYPE;
enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_RECORD = 36,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_BSTR_BLOB = 0xfff,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000,
VT_RESERVED = 0x8000,
VT_ILLEGAL = 0xffff,
VT_ILLEGALMASKED = 0xfff,
VT_TYPEMASK = 0xfff
};
#ifdef __cplusplus
}
#endif
#endif /* __WIDL_WTYPES_H */ #endif /* __WIDL_WTYPES_H */

View file

@ -73,6 +73,12 @@ typedef void *HANDLE;
#define DECLARE_HANDLE(name) typedef void *name #define DECLARE_HANDLE(name) typedef void *name
#define DECLARE_WIREM_HANDLE(name) typedef [wire_marshal(wire##name)] void*name #define DECLARE_WIREM_HANDLE(name) typedef [wire_marshal(wire##name)] void*name
DECLARE_HANDLE(HMODULE);
DECLARE_HANDLE(HINSTANCE);
DECLARE_HANDLE(HRGN);
DECLARE_HANDLE(HTASK);
DECLARE_HANDLE(HKEY);
typedef double DATE; typedef double DATE;
typedef LONG HRESULT; typedef LONG HRESULT;
typedef DWORD LCID; typedef DWORD LCID;
@ -81,6 +87,14 @@ typedef unsigned __int64 DWORDLONG;
typedef __int64 LONGLONG; typedef __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG; typedef unsigned __int64 ULONGLONG;
typedef struct _LARGE_INTEGER {
LONGLONG QuadPart;
} LARGE_INTEGER;
typedef struct _ULARGE_INTEGER {
ULONGLONG QuadPart;
} ULARGE_INTEGER;
typedef struct _SID_IDENTIFIER_AUTHORITY { typedef struct _SID_IDENTIFIER_AUTHORITY {
UCHAR Value[6]; UCHAR Value[6];
} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY; } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
@ -115,6 +129,26 @@ typedef struct _SECURITY_DESCRIPTOR {
cpp_quote("#endif /* winnt.h */") cpp_quote("#endif /* winnt.h */")
cpp_quote("#ifndef _PALETTEENTRY_DEFINED")
cpp_quote("#define _PALETTEENTRY_DEFINED")
typedef struct tagPALETTEENTRY {
BYTE peRed;
BYTE peGreen;
BYTE peBlue;
BYTE peFlags;
} PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
cpp_quote("#endif")
cpp_quote("#ifndef _LOGPALETTE_DEFINED")
cpp_quote("#define _LOGPALETTE_DEFINED")
typedef struct tagLOGPALETTE
{
WORD palVersion;
WORD palNumEntries;
[size_is(palNumEntries)] PALETTEENTRY palPalEntry[*];
} LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
cpp_quote("#endif")
cpp_quote("#ifndef _FILETIME_") cpp_quote("#ifndef _FILETIME_")
cpp_quote("#define _FILETIME_") cpp_quote("#define _FILETIME_")
typedef struct _FILETIME { typedef struct _FILETIME {
@ -168,8 +202,7 @@ cpp_quote("#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1")
cpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2") cpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2")
cpp_quote("#endif") cpp_quote("#endif")
typedef enum tagCLSCTX typedef enum tagCLSCTX {
{
CLSCTX_INPROC_SERVER = 0x1, CLSCTX_INPROC_SERVER = 0x1,
CLSCTX_INPROC_HANDLER = 0x2, CLSCTX_INPROC_HANDLER = 0x2,
CLSCTX_LOCAL_SERVER = 0x4, CLSCTX_LOCAL_SERVER = 0x4,
@ -192,16 +225,14 @@ cpp_quote("#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)"
cpp_quote("#define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)") cpp_quote("#define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
cpp_quote("#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)") cpp_quote("#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
typedef enum tagMSHLFLAGS typedef enum tagMSHLFLAGS {
{
MSHLFLAGS_NORMAL = 0, MSHLFLAGS_NORMAL = 0,
MSHLFLAGS_TABLESTRONG = 1, MSHLFLAGS_TABLESTRONG = 1,
MSHLFLAGS_TABLEWEAK = 2, MSHLFLAGS_TABLEWEAK = 2,
MSHLFLAGS_NOPING = 4 MSHLFLAGS_NOPING = 4
} MSHLFLAGS; } MSHLFLAGS;
typedef enum tagMSHCTX typedef enum tagMSHCTX {
{
MSHCTX_LOCAL = 0, MSHCTX_LOCAL = 0,
MSHCTX_NOSHAREDMEM = 1, MSHCTX_NOSHAREDMEM = 1,
MSHCTX_DIFFERENTMACHINE = 2, MSHCTX_DIFFERENTMACHINE = 2,
@ -217,6 +248,13 @@ typedef struct _BYTE_BLOB {
} BYTE_BLOB; } BYTE_BLOB;
typedef [unique] BYTE_BLOB *UP_BYTE_BLOB; typedef [unique] BYTE_BLOB *UP_BYTE_BLOB;
typedef struct _FLAGGED_BYTE_BLOB {
unsigned long fFlags;
unsigned long clSize;
[size_is(clSize)] byte abData[];
} FLAGGED_BYTE_BLOB;
typedef [unique] FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
typedef struct _FLAGGED_WORD_BLOB { typedef struct _FLAGGED_WORD_BLOB {
unsigned long fFlags; unsigned long fFlags;
unsigned long clSize; unsigned long clSize;
@ -224,6 +262,26 @@ typedef struct _FLAGGED_WORD_BLOB {
} FLAGGED_WORD_BLOB; } FLAGGED_WORD_BLOB;
typedef [unique] FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB; typedef [unique] FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
typedef struct _BYTE_SIZEDARR {
unsigned long clSize;
[size_is(clSize)] byte *pData;
} BYTE_SIZEDARR;
typedef struct _SHORT_SIZEDARR {
unsigned long clSize;
[size_is(clSize)] unsigned short *pData;
} WORD_SIZEDARR;
typedef struct _LONG_SIZEDARR {
unsigned long clSize;
[size_is(clSize)] unsigned long *pData;
} DWORD_SIZEDARR;
typedef struct _HYPER_SIZEDARR {
unsigned long clSize;
[size_is(clSize)] hyper *pData;
} HYPER_SIZEDARR;
/******************** GDI TYPES ********************/ /******************** GDI TYPES ********************/
const unsigned long WDT_INPROC_CALL = 0x48746457; const unsigned long WDT_INPROC_CALL = 0x48746457;
@ -231,12 +289,26 @@ const unsigned long WDT_REMOTE_CALL = 0x52746457;
typedef union _userCLIPFORMAT switch(long fContext) u { typedef union _userCLIPFORMAT switch(long fContext) u {
case WDT_INPROC_CALL: DWORD dwValue; case WDT_INPROC_CALL: DWORD dwValue;
case WDT_REMOTE_CALL: [string] WCHAR *pwszName; case WDT_REMOTE_CALL: LPWSTR pwszName;
} userCLIPFORMAT; } userCLIPFORMAT;
typedef [unique] userCLIPFORMAT *wireCLIPFORMAT; typedef [unique] userCLIPFORMAT *wireCLIPFORMAT;
typedef [wire_marshal(wireCLIPFORMAT)] WORD CLIPFORMAT; typedef [wire_marshal(wireCLIPFORMAT)] WORD CLIPFORMAT;
typedef struct tagRemHGLOBAL {
long fNullHGlobal;
unsigned long cbData;
[size_is(cbData)] byte data[];
} RemHGLOBAL;
typedef union _userHGLOBAL switch(long fContext) u {
case WDT_INPROC_CALL: long hInproc;
case WDT_REMOTE_CALL: FLAGGED_BYTE_BLOB *hRemote;
default: long hGlobal;
} userHGLOBAL;
typedef [unique] userHGLOBAL *wireHGLOBAL;
typedef struct tagRemHMETAFILEPICT { typedef struct tagRemHMETAFILEPICT {
long mm; long mm;
long xExt; long xExt;
@ -268,7 +340,69 @@ typedef union _userHMETAFILEPICT switch(long fContext) u {
typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT; typedef [unique] userHMETAFILEPICT *wireHMETAFILEPICT;
typedef struct tagRemHENHMETAFILE {
unsigned long cbData;
[size_is(cbData)] byte data[];
} RemHENHMETAFILE;
typedef union _userHENHMETAFILE switch(long fContext) u {
case WDT_INPROC_CALL: long hInproc;
case WDT_REMOTE_CALL: BYTE_BLOB *hRemote;
default: long hGlobal;
} userHENHMETAFILE;
typedef [unique] userHENHMETAFILE *wireHENHMETAFILE;
typedef struct tagRemHBITMAP
{
unsigned long cbData;
[size_is(cbData)] byte data[];
} RemHBITMAP;
typedef struct _userBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
ULONG cbSize;
[size_is(cbSize)] byte pBuffer[];
} userBITMAP;
typedef union _userHBITMAP switch(long fContext) u {
case WDT_INPROC_CALL: long hInproc;
case WDT_REMOTE_CALL: userBITMAP *hRemote;
default: long hGlobal;
} userHBITMAP;
typedef [unique] userHBITMAP *wireHBITMAP;
typedef struct tagRemHPALETTE {
unsigned long cbData;
[size_is(cbData)] byte data[];
} RemHPALETTE;
typedef struct tagrpcLOGPALETTE {
WORD palVersion;
WORD palNumEntries;
[size_is(palNumEntries)] PALETTEENTRY palPalEntry[];
} rpcLOGPALETTE;
typedef union _userHPALETTE switch(long fContext) u {
case WDT_INPROC_CALL: long hInproc;
case WDT_REMOTE_CALL: rpcLOGPALETTE *hRemote;
default: long hGlobal;
} userHPALETTE;
typedef [unique] userHPALETTE *wireHPALETTE;
cpp_quote("#if 0") cpp_quote("#if 0")
DECLARE_WIREM_HANDLE(HGLOBAL);
typedef HGLOBAL HLOCAL;
DECLARE_WIREM_HANDLE(HBITMAP);
DECLARE_WIREM_HANDLE(HPALETTE);
DECLARE_WIREM_HANDLE(HENHMETAFILE);
DECLARE_WIREM_HANDLE(HMETAFILE); DECLARE_WIREM_HANDLE(HMETAFILE);
cpp_quote("#endif") cpp_quote("#endif")
DECLARE_WIREM_HANDLE(HMETAFILEPICT); DECLARE_WIREM_HANDLE(HMETAFILEPICT);
@ -287,39 +421,45 @@ cpp_quote("#endif")
cpp_quote("#if 0 /* guiddef.h */") cpp_quote("#if 0 /* guiddef.h */")
typedef GUID *LPGUID; typedef GUID *LPGUID;
typedef GUID IID; typedef GUID IID;
typedef IID *LPIID; typedef IID *LPIID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef GUID FMTID;
typedef FMTID *LPFMTID;
cpp_quote("#if 0") /* for IDL only (C/C++ defs are in guiddef.h) */ cpp_quote("#if 0") /* for IDL only (C/C++ defs are in guiddef.h) */
typedef GUID *REFGUID; typedef GUID *REFGUID;
typedef IID *REFIID; typedef IID *REFIID;
typedef CLSID *REFCLSID;
typedef FMTID *REFFMTID;
cpp_quote("#endif") cpp_quote("#endif")
cpp_quote("#endif /* guiddef.h */") cpp_quote("#endif /* guiddef.h */")
/******************** MISC TYPES ********************/ /******************** MISC TYPES ********************/
typedef enum tagDVASPECT typedef enum tagDVASPECT {
{
DVASPECT_CONTENT = 1, DVASPECT_CONTENT = 1,
DVASPECT_THUMBNAIL = 2, DVASPECT_THUMBNAIL = 2,
DVASPECT_ICON = 4, DVASPECT_ICON = 4,
DVASPECT_DOCPRINT = 8 DVASPECT_DOCPRINT = 8
} DVASPECT; } DVASPECT;
typedef enum tagSTGC typedef enum tagSTGC {
{ STGC_DEFAULT = 0,
STGC_DEFAULT = 0, STGC_OVERWRITE = 1,
STGC_OVERWRITE = 1,
STGC_ONLYIFCURRENT = 2, STGC_ONLYIFCURRENT = 2,
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
STGC_CONSOLIDATE = 8 STGC_CONSOLIDATE = 8
} STGC; } STGC;
typedef enum tagSTGMOVE typedef enum tagSTGMOVE {
{ STGMOVE_MOVE = 0,
STGMOVE_MOVE = 0, STGMOVE_COPY = 1,
STGMOVE_COPY = 1,
STGMOVE_SHALLOWCOPY = 2 STGMOVE_SHALLOWCOPY = 2
} STGMOVE; } STGMOVE;
@ -364,6 +504,11 @@ typedef VARIANT_BOOL _VARIANT_BOOL;
cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)") cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)")
cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)") cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)")
typedef struct tagBSTRBLOB {
ULONG cbSize;
[size_is(cbSize)] BYTE *pData;
} BSTRBLOB, *LPBSTRBLOB;
typedef struct tagBLOB { typedef struct tagBLOB {
ULONG cbSize; ULONG cbSize;
[size_is(cbSize)] BYTE *pBlobData; [size_is(cbSize)] BYTE *pBlobData;
@ -372,7 +517,7 @@ typedef struct tagBLOB {
typedef struct tagCLIPDATA { typedef struct tagCLIPDATA {
ULONG cbSize; ULONG cbSize;
long ulClipFmt; long ulClipFmt;
[size_is(cbSize-4)] BYTE *pClipData; [size_is(cbSize-sizeof(long))] BYTE *pClipData;
} CLIPDATA; } CLIPDATA;
cpp_quote("#define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))") cpp_quote("#define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))")
@ -381,6 +526,56 @@ typedef ULONG PROPID;
/******************** VARTYPE ********************/ /******************** VARTYPE ********************/
typedef unsigned short VARTYPE; typedef unsigned short VARTYPE;
/* FIXME: enum VARENUM */ enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_RECORD = 36,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_BSTR_BLOB = 0x0fff,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000,
VT_RESERVED = 0x8000,
VT_ILLEGAL = 0xffff,
VT_ILLEGALMASKED = 0x0fff,
VT_TYPEMASK = 0x0fff
};
} /* interface IWinTypes */ } /* interface IWinTypes */