Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
729dd8bf
Commit
729dd8bf
authored
Dec 03, 2002
by
Ove Kaaven
Committed by
Alexandre Julliard
Dec 03, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added more types to wtypes.idl.
parent
2a5f290c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
471 additions
and
98 deletions
+471
-98
variant.c
dlls/oleaut32/variant.c
+3
-0
obj_oleaut.h
include/wine/obj_oleaut.h
+0
-61
wtypes.h
include/wtypes.h
+253
-17
wtypes.idl
include/wtypes.idl
+215
-20
No files found.
dlls/oleaut32/variant.c
View file @
729dd8bf
...
...
@@ -83,6 +83,9 @@ static const long I4_MIN = -(2147483648U);
static
const
DATE
DATE_MIN
=
-
657434
;
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
* the VARIANTARG structure. The flag indicates if
...
...
include/wine/obj_oleaut.h
View file @
729dd8bf
...
...
@@ -492,66 +492,6 @@ typedef enum tagVARFLAGS
/*
* 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.
*/
...
...
@@ -863,4 +803,3 @@ ICOM_DEFINE(IEnumVARIANT,IUnknown)
#define IEnumVARIANT_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
/* __WINE_WINE_OBJ_OLEAUT_H */
include/wtypes.h
View file @
729dd8bf
...
...
@@ -4,6 +4,9 @@
#ifndef __WIDL_WTYPES_H
#define __WIDL_WTYPES_H
#ifdef __cplusplus
extern
"C"
{
#endif
#include "basetsd.h"
#include "guiddef.h"
typedef
CHAR
OLECHAR16
;
...
...
@@ -57,6 +60,16 @@ typedef boolean BOOLEAN;
typedef void *HANDLE;
typedef void *HMODULE;
typedef void *HINSTANCE;
typedef void *HRGN;
typedef void *HTASK;
typedef void *HKEY;
typedef double DATE;
typedef LONG HRESULT;
...
...
@@ -69,6 +82,14 @@ typedef __int64 LONGLONG;
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 {
UCHAR Value[6];
} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
...
...
@@ -103,6 +124,25 @@ typedef struct _SECURITY_DESCRIPTOR {
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
#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_
#define _FILETIME_
typedef
struct
_FILETIME
{
...
...
@@ -155,22 +195,22 @@ typedef struct _COSERVERINFO {
#define ROTFLAGS_ALLOWANYCLIENT 0x2
#endif
typedef
enum
tagCLSCTX
{
CLSCTX_INPROC_SERVER
=
1
,
CLSCTX_INPROC_HANDLER
=
2
,
CLSCTX_LOCAL_SERVER
=
4
,
CLSCTX_INPROC_SERVER16
=
8
,
CLSCTX_REMOTE_SERVER
=
16
,
CLSCTX_INPROC_HANDLER16
=
32
,
CLSCTX_INPROC_SERVERX86
=
64
,
CLSCTX_INPROC_HANDLERX86
=
128
,
CLSCTX_ESERVER_HANDLER
=
256
,
CLSCTX_NO_CODE_DOWNLOAD
=
1024
,
CLSCTX_NO_CUSTOM_MARSHAL
=
4096
,
CLSCTX_ENABLE_CODE_DOWNLOAD
=
8192
,
CLSCTX_NO_FAILURE_LOG
=
16384
,
CLSCTX_DISABLE_AAA
=
32768
,
CLSCTX_ENABLE_AAA
=
65536
,
CLSCTX_FROM_DEFAULT_CONTEXT
=
131072
CLSCTX_INPROC_SERVER
=
0x
1
,
CLSCTX_INPROC_HANDLER
=
0x
2
,
CLSCTX_LOCAL_SERVER
=
0x
4
,
CLSCTX_INPROC_SERVER16
=
0x
8
,
CLSCTX_REMOTE_SERVER
=
0x10
,
CLSCTX_INPROC_HANDLER16
=
0x20
,
CLSCTX_INPROC_SERVERX86
=
0x40
,
CLSCTX_INPROC_HANDLERX86
=
0x80
,
CLSCTX_ESERVER_HANDLER
=
0x100
,
CLSCTX_NO_CODE_DOWNLOAD
=
0x400
,
CLSCTX_NO_CUSTOM_MARSHAL
=
0x1000
,
CLSCTX_ENABLE_CODE_DOWNLOAD
=
0x2000
,
CLSCTX_NO_FAILURE_LOG
=
0x4000
,
CLSCTX_DISABLE_AAA
=
0x8000
,
CLSCTX_ENABLE_AAA
=
0x10000
,
CLSCTX_FROM_DEFAULT_CONTEXT
=
0x20000
}
CLSCTX
;
#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
...
...
@@ -198,6 +238,14 @@ typedef struct _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
{
unsigned
long
fFlags
;
unsigned
long
clSize
;
...
...
@@ -206,11 +254,35 @@ typedef struct _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
{
long
fContext
;
union
{
DWORD
dwValue
;
WCHAR
*
pwszName
;
LPWSTR
pwszName
;
}
u
;
}
userCLIPFORMAT
;
...
...
@@ -218,6 +290,23 @@ typedef userCLIPFORMAT *wireCLIPFORMAT;
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
{
long
mm
;
long
xExt
;
...
...
@@ -255,7 +344,82 @@ typedef struct _userHMETAFILEPICT {
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
typedef void *HGLOBAL;
typedef HGLOBAL HLOCAL;
typedef void *HBITMAP;
typedef void *HPALETTE;
typedef void *HENHMETAFILE;
typedef void *HMETAFILE;
#endif
...
...
@@ -278,11 +442,23 @@ typedef GUID IID;
typedef IID *LPIID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef GUID FMTID;
typedef FMTID *LPFMTID;
#if 0
typedef GUID *REFGUID;
typedef IID *REFIID;
typedef CLSID *REFCLSID;
typedef FMTID *REFFMTID;
#endif
#endif /* guiddef.h */
typedef
enum
tagDVASPECT
{
...
...
@@ -349,6 +525,11 @@ typedef VARIANT_BOOL _VARIANT_BOOL;
#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
typedef
struct
tagBSTRBLOB
{
ULONG
cbSize
;
BYTE
*
pData
;
}
BSTRBLOB
,
*
LPBSTRBLOB
;
typedef
struct
tagBLOB
{
ULONG
cbSize
;
BYTE
*
pBlobData
;
...
...
@@ -365,4 +546,59 @@ typedef ULONG PROPID;
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 */
include/wtypes.idl
View file @
729dd8bf
...
...
@@ -73,6 +73,12 @@ typedef void *HANDLE;
#
define
DECLARE_HANDLE
(
name
)
typedef
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
LONG
HRESULT
;
typedef
DWORD
LCID
;
...
...
@@ -81,6 +87,14 @@ typedef unsigned __int64 DWORDLONG;
typedef
__int64
LONGLONG
;
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
{
UCHAR
Value
[
6
]
;
}
SID_IDENTIFIER_AUTHORITY
,
*
PSID_IDENTIFIER_AUTHORITY
;
...
...
@@ -115,6 +129,26 @@ typedef struct _SECURITY_DESCRIPTOR {
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
(
"#define _FILETIME_"
)
typedef
struct
_FILETIME
{
...
...
@@ -168,8 +202,7 @@ cpp_quote("#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1")
cpp_quote("#define ROTFLAGS_ALLOWANYCLIENT 0x2")
cpp_quote("#endif")
typedef enum tagCLSCTX
{
typedef enum tagCLSCTX {
CLSCTX_INPROC_SERVER = 0x1,
CLSCTX_INPROC_HANDLER = 0x2,
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_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)")
typedef enum tagMSHLFLAGS
{
typedef enum tagMSHLFLAGS {
MSHLFLAGS_NORMAL = 0,
MSHLFLAGS_TABLESTRONG = 1,
MSHLFLAGS_TABLEWEAK = 2,
MSHLFLAGS_NOPING = 4
} MSHLFLAGS;
typedef enum tagMSHCTX
{
typedef enum tagMSHCTX {
MSHCTX_LOCAL = 0,
MSHCTX_NOSHAREDMEM = 1,
MSHCTX_DIFFERENTMACHINE = 2,
...
...
@@ -217,6 +248,13 @@ typedef struct _BYTE_BLOB {
} 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 {
unsigned long fFlags;
unsigned long clSize;
...
...
@@ -224,6 +262,26 @@ typedef struct _FLAGGED_WORD_BLOB {
} 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 ********************/
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 {
case WDT_INPROC_CALL: DWORD dwValue;
case WDT_REMOTE_CALL:
[string] WCHAR *
pwszName;
case WDT_REMOTE_CALL:
LPWSTR
pwszName;
} userCLIPFORMAT;
typedef [unique] userCLIPFORMAT *wireCLIPFORMAT;
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 {
long mm;
long xExt;
...
...
@@ -268,7 +340,69 @@ typedef union _userHMETAFILEPICT switch(long fContext) u {
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")
DECLARE_WIREM_HANDLE(HGLOBAL);
typedef HGLOBAL HLOCAL;
DECLARE_WIREM_HANDLE(HBITMAP);
DECLARE_WIREM_HANDLE(HPALETTE);
DECLARE_WIREM_HANDLE(HENHMETAFILE);
DECLARE_WIREM_HANDLE(HMETAFILE);
cpp_quote("#endif")
DECLARE_WIREM_HANDLE(HMETAFILEPICT);
...
...
@@ -287,39 +421,45 @@ cpp_quote("#endif")
cpp_quote("#if 0 /* guiddef.h */")
typedef GUID *LPGUID;
typedef GUID IID;
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) */
typedef GUID *REFGUID;
typedef IID *REFIID;
typedef CLSID *REFCLSID;
typedef FMTID *REFFMTID;
cpp_quote("#endif")
cpp_quote("#endif /* guiddef.h */")
/******************** MISC TYPES ********************/
typedef enum tagDVASPECT
{
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,
typedef enum tagSTGC {
STGC_DEFAULT = 0,
STGC_OVERWRITE = 1,
STGC_ONLYIFCURRENT = 2,
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
STGC_CONSOLIDATE = 8
STGC_CONSOLIDATE
= 8
} STGC;
typedef enum tagSTGMOVE
{
STGMOVE_MOVE = 0,
STGMOVE_COPY = 1,
typedef enum tagSTGMOVE {
STGMOVE_MOVE = 0,
STGMOVE_COPY = 1,
STGMOVE_SHALLOWCOPY = 2
} STGMOVE;
...
...
@@ -364,6 +504,11 @@ typedef VARIANT_BOOL _VARIANT_BOOL;
cpp_quote("#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)")
cpp_quote("#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)")
typedef struct tagBSTRBLOB {
ULONG cbSize;
[size_is(cbSize)] BYTE *pData;
} BSTRBLOB, *LPBSTRBLOB;
typedef struct tagBLOB {
ULONG cbSize;
[size_is(cbSize)] BYTE *pBlobData;
...
...
@@ -372,7 +517,7 @@ typedef struct tagBLOB {
typedef struct tagCLIPDATA {
ULONG cbSize;
long ulClipFmt;
[size_is(cbSize-
4
)] BYTE *pClipData;
[size_is(cbSize-
sizeof(long)
)] BYTE *pClipData;
} CLIPDATA;
cpp_quote("#define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))")
...
...
@@ -381,6 +526,56 @@ typedef ULONG PROPID;
/******************** 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 */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment