Removed reference to 'systemname' and added a link to winsite in
[wine/hacks.git] / include / wtypes.h
blob4a1950ba3a5de9ae075bcae8c95e5ff18015abdd
1 /*** Autogenerated by WIDL 0.1 from wtypes.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
5 #ifndef __WIDL_WTYPES_H
6 #define __WIDL_WTYPES_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <basetsd.h>
11 #include <guiddef.h>
12 #if 0 /* winnt.h */
13 typedef unsigned char BYTE;
15 typedef unsigned short WORD;
17 typedef unsigned long DWORD;
19 typedef long BOOL;
21 typedef unsigned char UCHAR;
23 typedef int INT;
25 typedef unsigned int UINT;
27 typedef short SHORT;
29 typedef unsigned short USHORT;
31 typedef long LONG;
33 typedef unsigned long ULONG;
35 typedef float FLOAT;
37 typedef double DOUBLE;
39 typedef void *PVOID, *LPVOID;
41 typedef char CHAR;
43 typedef CHAR *LPSTR;
45 typedef const CHAR *LPCSTR;
47 typedef wchar_t WCHAR;
49 typedef WCHAR *LPWSTR;
51 typedef const WCHAR *LPCWSTR;
53 typedef boolean BOOLEAN;
55 typedef DWORD COLORREF;
57 typedef void *HANDLE;
59 typedef void *HACCEL;
61 typedef void *HDC;
63 typedef void *HFONT;
65 typedef void *HWND;
67 typedef void *HMENU;
69 typedef void *HMODULE;
71 typedef void *HINSTANCE;
73 typedef void *HRGN;
75 typedef void *HTASK;
77 typedef void *HKEY;
79 typedef void *HICON;
81 typedef LONG_PTR LRESULT;
83 typedef double DATE;
85 typedef LONG HRESULT;
87 typedef DWORD LCID;
89 typedef unsigned __int64 DWORDLONG;
91 typedef __int64 LONGLONG;
93 typedef unsigned __int64 ULONGLONG;
95 typedef struct _LARGE_INTEGER {
96 LONGLONG QuadPart;
97 } LARGE_INTEGER;
99 typedef struct _ULARGE_INTEGER {
100 ULONGLONG QuadPart;
101 } ULARGE_INTEGER;
103 typedef struct _SID_IDENTIFIER_AUTHORITY {
104 UCHAR Value[6];
105 } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
107 typedef struct _SID {
108 UCHAR Revision;
109 UCHAR SubAuthorityCount;
110 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
111 ULONG SubAuthority[1];
112 } SID, *PSID;
114 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
116 typedef struct _ACL {
117 UCHAR AclRevision;
118 UCHAR Sbz1;
119 USHORT AclSize;
120 USHORT AceCount;
121 USHORT Sbz2;
122 } ACL;
124 typedef ACL *PACL;
126 typedef struct _SECURITY_DESCRIPTOR {
127 UCHAR Revision;
128 UCHAR Sbz1;
129 SECURITY_DESCRIPTOR_CONTROL Control;
130 PSID Owner;
131 PSID Group;
132 PACL Sacl;
133 PACL Dacl;
134 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
136 typedef struct _SECURITY_ATTRIBUTES {
137 DWORD nLength;
138 LPVOID lpSecurityDescriptor;
139 BOOL bInheritHandle;
140 } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
142 typedef struct tagSIZE {
143 LONG cx;
144 LONG cy;
145 } SIZE, *PSIZE, *LPSIZE;
147 typedef SIZE SIZEL, *PSIZEL, *LPSIZEL;
149 typedef struct tagPOINT {
150 LONG x;
151 LONG y;
152 } POINT, *PPOINT, *LPPOINT;
154 typedef struct _POINTL {
155 LONG x;
156 LONG y;
157 } POINTL;
159 typedef struct tagRECT {
160 LONG left;
161 LONG top;
162 LONG right;
163 LONG bottom;
164 } RECT, *PRECT, *LPRECT;
166 typedef const RECT *LPCRECT;
168 typedef struct _RECTL {
169 LONG left;
170 LONG top;
171 LONG right;
172 LONG bottom;
173 } RECTL, *PRECTL, *LPRECTL;
175 typedef const RECTL *LPCRECTL;
177 typedef UINT_PTR WPARAM;
179 typedef LONG_PTR LPARAM;
181 typedef struct tagMSG {
182 HWND hwnd;
183 UINT message;
184 WPARAM wParam;
185 LPARAM lParam;
186 DWORD time;
187 POINT pt;
188 } MSG, *PMSG, *NPMSG, *LPMSG;
190 #endif /* winnt.h */
191 #ifndef _PALETTEENTRY_DEFINED
192 #define _PALETTEENTRY_DEFINED
193 typedef struct tagPALETTEENTRY {
194 BYTE peRed;
195 BYTE peGreen;
196 BYTE peBlue;
197 BYTE peFlags;
198 } PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
200 #endif
201 #ifndef _LOGPALETTE_DEFINED
202 #define _LOGPALETTE_DEFINED
203 typedef struct tagLOGPALETTE {
204 WORD palVersion;
205 WORD palNumEntries;
206 PALETTEENTRY palPalEntry[1];
207 } LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
209 #endif
210 #ifndef _FILETIME_
211 #define _FILETIME_
212 typedef struct _FILETIME {
213 DWORD dwLowDateTime;
214 DWORD dwHighDateTime;
215 } FILETIME, *PFILETIME, *LPFILETIME;
217 #endif
218 #ifndef _TEXTMETRIC_DEFINED
219 #define _TEXTMETRIC_DEFINED
220 typedef struct {
221 LONG tmHeight;
222 LONG tmAscent;
223 LONG tmDescent;
224 LONG tmInternalLeading;
225 LONG tmExternalLeading;
226 LONG tmAveCharWidth;
227 LONG tmMaxCharWidth;
228 LONG tmWeight;
229 LONG tmOverhang;
230 LONG tmDigitizedAspectX;
231 LONG tmDigitizedAspectY;
232 BYTE tmFirstChar;
233 BYTE tmLastChar;
234 BYTE tmDefaultChar;
235 BYTE tmBreakChar;
236 BYTE tmItalic;
237 BYTE tmUnderlined;
238 BYTE tmStruckOut;
239 BYTE tmPitchAndFamily;
240 BYTE tmCharSet;
241 } TEXTMETRICA, *LPTEXTMETRICA, *PTEXTMETRICA;
243 typedef struct {
244 LONG tmHeight;
245 LONG tmAscent;
246 LONG tmDescent;
247 LONG tmInternalLeading;
248 LONG tmExternalLeading;
249 LONG tmAveCharWidth;
250 LONG tmMaxCharWidth;
251 LONG tmWeight;
252 LONG tmOverhang;
253 LONG tmDigitizedAspectX;
254 LONG tmDigitizedAspectY;
255 WCHAR tmFirstChar;
256 WCHAR tmLastChar;
257 WCHAR tmDefaultChar;
258 WCHAR tmBreakChar;
259 BYTE tmItalic;
260 BYTE tmUnderlined;
261 BYTE tmStruckOut;
262 BYTE tmPitchAndFamily;
263 BYTE tmCharSet;
264 } TEXTMETRICW, *LPTEXTMETRICW, *PTEXTMETRICW;
266 #endif
267 typedef WCHAR OLECHAR;
269 typedef OLECHAR *LPOLESTR;
271 typedef const OLECHAR *LPCOLESTR;
273 #ifndef __WINESRC__
274 #define OLESTR(str) L##str
275 #endif
276 typedef CHAR OLECHAR16;
278 typedef LPSTR LPOLESTR16;
280 typedef LPCSTR LPCOLESTR16;
282 typedef OLECHAR16 *BSTR16;
283 typedef BSTR16 *LPBSTR16;
284 #define OLESTR16(x) x
285 typedef LONG SCODE;
287 typedef struct _COAUTHIDENTITY {
288 USHORT *User;
289 ULONG UserLength;
290 USHORT *Domain;
291 ULONG DomainLength;
292 USHORT *Password;
293 ULONG PasswordLength;
294 ULONG Flags;
295 } COAUTHIDENTITY;
297 typedef struct _COAUTHINFO {
298 DWORD dwAuthnSvc;
299 DWORD dwAuthzSvc;
300 LPWSTR pwszServerPrincName;
301 DWORD dwAuthnLevel;
302 DWORD dwImpersonationLevel;
303 COAUTHIDENTITY *pAuthIdentityData;
304 DWORD dwCapabilities;
305 } COAUTHINFO;
307 typedef struct _COSERVERINFO {
308 DWORD dwReserved1;
309 LPWSTR pwszName;
310 COAUTHINFO *pAuthInfo;
311 DWORD dwReserved2;
312 } COSERVERINFO;
314 typedef enum tagMEMCTX {
315 MEMCTX_TASK = 1,
316 MEMCTX_SHARED = 2,
317 MEMCTX_MACSYSTEM = 3,
318 MEMCTX_UNKNOWN = -1,
319 MEMCTX_SAME = -2
320 } MEMCTX;
322 #ifndef _ROTFLAGS_DEFINED
323 #define _ROTFLAGS_DEFINED
324 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
325 #define ROTFLAGS_ALLOWANYCLIENT 0x2
326 #endif
327 typedef enum tagCLSCTX {
328 CLSCTX_INPROC_SERVER = 0x1,
329 CLSCTX_INPROC_HANDLER = 0x2,
330 CLSCTX_LOCAL_SERVER = 0x4,
331 CLSCTX_INPROC_SERVER16 = 0x8,
332 CLSCTX_REMOTE_SERVER = 0x10,
333 CLSCTX_INPROC_HANDLER16 = 0x20,
334 CLSCTX_INPROC_SERVERX86 = 0x40,
335 CLSCTX_INPROC_HANDLERX86 = 0x80,
336 CLSCTX_ESERVER_HANDLER = 0x100,
337 CLSCTX_NO_CODE_DOWNLOAD = 0x400,
338 CLSCTX_NO_CUSTOM_MARSHAL = 0x1000,
339 CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
340 CLSCTX_NO_FAILURE_LOG = 0x4000,
341 CLSCTX_DISABLE_AAA = 0x8000,
342 CLSCTX_ENABLE_AAA = 0x10000,
343 CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000
344 } CLSCTX;
346 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
347 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
348 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
349 typedef enum tagMSHLFLAGS {
350 MSHLFLAGS_NORMAL = 0,
351 MSHLFLAGS_TABLESTRONG = 1,
352 MSHLFLAGS_TABLEWEAK = 2,
353 MSHLFLAGS_NOPING = 4
354 } MSHLFLAGS;
356 typedef enum tagMSHCTX {
357 MSHCTX_LOCAL = 0,
358 MSHCTX_NOSHAREDMEM = 1,
359 MSHCTX_DIFFERENTMACHINE = 2,
360 MSHCTX_INPROC = 3,
361 MSHCTX_CROSSCTX = 4
362 } MSHCTX;
364 typedef struct _BYTE_BLOB {
365 unsigned long clSize;
366 byte abData[1];
367 } BYTE_BLOB;
369 typedef BYTE_BLOB *UP_BYTE_BLOB;
371 typedef struct _FLAGGED_BYTE_BLOB {
372 unsigned long fFlags;
373 unsigned long clSize;
374 byte abData[1];
375 } FLAGGED_BYTE_BLOB;
377 typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
379 typedef struct _FLAGGED_WORD_BLOB {
380 unsigned long fFlags;
381 unsigned long clSize;
382 unsigned short asData[1];
383 } FLAGGED_WORD_BLOB;
385 typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
387 typedef struct _BYTE_SIZEDARR {
388 unsigned long clSize;
389 byte *pData;
390 } BYTE_SIZEDARR;
392 typedef struct _SHORT_SIZEDARR {
393 unsigned long clSize;
394 unsigned short *pData;
395 } WORD_SIZEDARR;
397 typedef struct _LONG_SIZEDARR {
398 unsigned long clSize;
399 unsigned long *pData;
400 } DWORD_SIZEDARR;
402 typedef struct _HYPER_SIZEDARR {
403 unsigned long clSize;
404 hyper *pData;
405 } HYPER_SIZEDARR;
407 #define WDT_INPROC_CALL (0x48746457)
409 #define WDT_REMOTE_CALL (0x52746457)
411 typedef struct _userCLIPFORMAT {
412 long fContext;
413 union {
414 DWORD dwValue;
415 LPWSTR pwszName;
416 } u;
417 } userCLIPFORMAT;
419 typedef userCLIPFORMAT *wireCLIPFORMAT;
421 typedef WORD CLIPFORMAT;
422 unsigned long __RPC_USER CLIPFORMAT_UserSize (unsigned long *, unsigned long, CLIPFORMAT *);
423 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (unsigned long *, unsigned char *, CLIPFORMAT *);
424 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT *);
425 void __RPC_USER CLIPFORMAT_UserFree (unsigned long *, CLIPFORMAT *);
427 typedef struct tagRemHGLOBAL {
428 long fNullHGlobal;
429 unsigned long cbData;
430 byte data[1];
431 } RemHGLOBAL;
433 typedef struct _userHGLOBAL {
434 long fContext;
435 union {
436 long hInproc;
437 FLAGGED_BYTE_BLOB *hRemote;
438 long hGlobal;
439 } u;
440 } userHGLOBAL;
442 typedef userHGLOBAL *wireHGLOBAL;
444 typedef struct tagRemHMETAFILEPICT {
445 long mm;
446 long xExt;
447 long yExt;
448 unsigned long cbData;
449 byte data[1];
450 } RemHMETAFILEPICT;
452 typedef struct _userHMETAFILE {
453 long fContext;
454 union {
455 long hInproc;
456 BYTE_BLOB *hRemote;
457 long hGlobal;
458 } u;
459 } userHMETAFILE;
461 typedef userHMETAFILE *wireHMETAFILE;
463 typedef struct _remoteMETAFILEPICT {
464 long mm;
465 long xExt;
466 long yExt;
467 userHMETAFILE *hMF;
468 } remoteMETAFILEPICT;
470 typedef struct _userHMETAFILEPICT {
471 long fContext;
472 union {
473 long hInproc;
474 remoteMETAFILEPICT *hRemote;
475 long hGlobal;
476 } u;
477 } userHMETAFILEPICT;
479 typedef userHMETAFILEPICT *wireHMETAFILEPICT;
481 typedef struct tagRemHENHMETAFILE {
482 unsigned long cbData;
483 byte data[1];
484 } RemHENHMETAFILE;
486 typedef struct _userHENHMETAFILE {
487 long fContext;
488 union {
489 long hInproc;
490 BYTE_BLOB *hRemote;
491 long hGlobal;
492 } u;
493 } userHENHMETAFILE;
495 typedef userHENHMETAFILE *wireHENHMETAFILE;
497 typedef struct tagRemHBITMAP {
498 unsigned long cbData;
499 byte data[1];
500 } RemHBITMAP;
502 typedef struct _userBITMAP {
503 LONG bmType;
504 LONG bmWidth;
505 LONG bmHeight;
506 LONG bmWidthBytes;
507 WORD bmPlanes;
508 WORD bmBitsPixel;
509 ULONG cbSize;
510 byte pBuffer[1];
511 } userBITMAP;
513 typedef struct _userHBITMAP {
514 long fContext;
515 union {
516 long hInproc;
517 userBITMAP *hRemote;
518 long hGlobal;
519 } u;
520 } userHBITMAP;
522 typedef userHBITMAP *wireHBITMAP;
524 typedef struct tagRemHPALETTE {
525 unsigned long cbData;
526 byte data[1];
527 } RemHPALETTE;
529 typedef struct tagrpcLOGPALETTE {
530 WORD palVersion;
531 WORD palNumEntries;
532 PALETTEENTRY palPalEntry[1];
533 } rpcLOGPALETTE;
535 typedef struct _userHPALETTE {
536 long fContext;
537 union {
538 long hInproc;
539 rpcLOGPALETTE *hRemote;
540 long hGlobal;
541 } u;
542 } userHPALETTE;
544 typedef userHPALETTE *wireHPALETTE;
546 #if 0
547 typedef void *HGLOBAL;
548 unsigned long __RPC_USER HGLOBAL_UserSize (unsigned long *, unsigned long, HGLOBAL *);
549 unsigned char * __RPC_USER HGLOBAL_UserMarshal (unsigned long *, unsigned char *, HGLOBAL *);
550 unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(unsigned long *, unsigned char *, HGLOBAL *);
551 void __RPC_USER HGLOBAL_UserFree (unsigned long *, HGLOBAL *);
553 typedef HGLOBAL HLOCAL;
555 typedef void *HBITMAP;
556 unsigned long __RPC_USER HBITMAP_UserSize (unsigned long *, unsigned long, HBITMAP *);
557 unsigned char * __RPC_USER HBITMAP_UserMarshal (unsigned long *, unsigned char *, HBITMAP *);
558 unsigned char * __RPC_USER HBITMAP_UserUnmarshal(unsigned long *, unsigned char *, HBITMAP *);
559 void __RPC_USER HBITMAP_UserFree (unsigned long *, HBITMAP *);
561 typedef void *HPALETTE;
562 unsigned long __RPC_USER HPALETTE_UserSize (unsigned long *, unsigned long, HPALETTE *);
563 unsigned char * __RPC_USER HPALETTE_UserMarshal (unsigned long *, unsigned char *, HPALETTE *);
564 unsigned char * __RPC_USER HPALETTE_UserUnmarshal(unsigned long *, unsigned char *, HPALETTE *);
565 void __RPC_USER HPALETTE_UserFree (unsigned long *, HPALETTE *);
567 typedef void *HENHMETAFILE;
568 unsigned long __RPC_USER HENHMETAFILE_UserSize (unsigned long *, unsigned long, HENHMETAFILE *);
569 unsigned char * __RPC_USER HENHMETAFILE_UserMarshal (unsigned long *, unsigned char *, HENHMETAFILE *);
570 unsigned char * __RPC_USER HENHMETAFILE_UserUnmarshal(unsigned long *, unsigned char *, HENHMETAFILE *);
571 void __RPC_USER HENHMETAFILE_UserFree (unsigned long *, HENHMETAFILE *);
573 typedef void *HMETAFILE;
574 unsigned long __RPC_USER HMETAFILE_UserSize (unsigned long *, unsigned long, HMETAFILE *);
575 unsigned char * __RPC_USER HMETAFILE_UserMarshal (unsigned long *, unsigned char *, HMETAFILE *);
576 unsigned char * __RPC_USER HMETAFILE_UserUnmarshal(unsigned long *, unsigned char *, HMETAFILE *);
577 void __RPC_USER HMETAFILE_UserFree (unsigned long *, HMETAFILE *);
579 #endif
580 typedef void *HMETAFILEPICT;
581 unsigned long __RPC_USER HMETAFILEPICT_UserSize (unsigned long *, unsigned long, HMETAFILEPICT *);
582 unsigned char * __RPC_USER HMETAFILEPICT_UserMarshal (unsigned long *, unsigned char *, HMETAFILEPICT *);
583 unsigned char * __RPC_USER HMETAFILEPICT_UserUnmarshal(unsigned long *, unsigned char *, HMETAFILEPICT *);
584 void __RPC_USER HMETAFILEPICT_UserFree (unsigned long *, HMETAFILEPICT *);
586 #if 0
587 typedef GUID *REFGUID;
589 typedef IID *REFIID;
591 typedef CLSID *REFCLSID;
593 typedef FMTID *REFFMTID;
595 #endif
596 typedef enum tagDVASPECT {
597 DVASPECT_CONTENT = 1,
598 DVASPECT_THUMBNAIL = 2,
599 DVASPECT_ICON = 4,
600 DVASPECT_DOCPRINT = 8
601 } DVASPECT;
603 typedef enum tagSTGC {
604 STGC_DEFAULT = 0,
605 STGC_OVERWRITE = 1,
606 STGC_ONLYIFCURRENT = 2,
607 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
608 STGC_CONSOLIDATE = 8
609 } STGC;
611 typedef enum tagSTGMOVE {
612 STGMOVE_MOVE = 0,
613 STGMOVE_COPY = 1,
614 STGMOVE_SHALLOWCOPY = 2
615 } STGMOVE;
617 typedef enum tagSTATFLAG {
618 STATFLAG_DEFAULT = 0,
619 STATFLAG_NONAME = 1,
620 STATFLAG_NOOPEN = 2
621 } STATFLAG;
623 #if 0
624 typedef struct tagCY {
625 LONGLONG int64;
626 } CY;
628 #else
629 typedef union tagCY {
630 struct {
631 #ifdef WORDS_BIGENDIAN
632 LONG Hi;
633 ULONG Lo;
634 #else
635 ULONG Lo;
636 LONG Hi;
637 #endif
638 } DUMMYSTRUCTNAME;
639 LONGLONG int64;
640 } CY;
641 #endif
642 typedef CY *LPCY;
644 #if 0
645 typedef struct tagDEC {
646 USHORT wReserved;
647 BYTE scale;
648 BYTE sign;
649 ULONG Hi32;
650 ULONGLONG Lo64;
651 } DECIMAL;
653 #else
654 typedef struct tagDEC {
655 USHORT wReserved;
656 union {
657 struct {
658 BYTE scale;
659 BYTE sign;
660 } DUMMYSTRUCTNAME;
661 USHORT signscale;
662 } DUMMYUNIONNAME;
663 ULONG Hi32;
664 union {
665 struct {
666 #ifdef WORDS_BIGENDIAN
667 ULONG Mid32;
668 ULONG Lo32;
669 #else
670 ULONG Lo32;
671 ULONG Mid32;
672 #endif
673 } DUMMYSTRUCTNAME1;
674 ULONGLONG Lo64;
675 } DUMMYUNIONNAME1;
676 } DECIMAL;
677 #endif
678 #define DECIMAL_NEG ((BYTE)0x80)
679 #define DECIMAL_SETZERO(d) do{ memset(((char*)(d)) + sizeof(USHORT), 0, sizeof(ULONG) * 3u + sizeof(USHORT)); }while (0)
680 typedef DECIMAL *LPDECIMAL;
682 typedef FLAGGED_WORD_BLOB *wireBSTR;
684 typedef OLECHAR *BSTR;
685 unsigned long __RPC_USER BSTR_UserSize (unsigned long *, unsigned long, BSTR *);
686 unsigned char * __RPC_USER BSTR_UserMarshal (unsigned long *, unsigned char *, BSTR *);
687 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR *);
688 void __RPC_USER BSTR_UserFree (unsigned long *, BSTR *);
690 typedef BSTR *LPBSTR;
692 typedef short VARIANT_BOOL;
694 typedef VARIANT_BOOL _VARIANT_BOOL;
696 #define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
697 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
698 typedef struct tagBSTRBLOB {
699 ULONG cbSize;
700 BYTE *pData;
701 } BSTRBLOB, *LPBSTRBLOB;
703 typedef struct tagBLOB {
704 ULONG cbSize;
705 BYTE *pBlobData;
706 } BLOB, *LPBLOB;
708 typedef struct tagCLIPDATA {
709 ULONG cbSize;
710 long ulClipFmt;
711 BYTE *pClipData;
712 } CLIPDATA;
714 #define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))
715 typedef ULONG PROPID;
717 typedef unsigned short VARTYPE;
719 enum VARENUM {
720 VT_EMPTY = 0,
721 VT_NULL = 1,
722 VT_I2 = 2,
723 VT_I4 = 3,
724 VT_R4 = 4,
725 VT_R8 = 5,
726 VT_CY = 6,
727 VT_DATE = 7,
728 VT_BSTR = 8,
729 VT_DISPATCH = 9,
730 VT_ERROR = 10,
731 VT_BOOL = 11,
732 VT_VARIANT = 12,
733 VT_UNKNOWN = 13,
734 VT_DECIMAL = 14,
735 VT_I1 = 16,
736 VT_UI1 = 17,
737 VT_UI2 = 18,
738 VT_UI4 = 19,
739 VT_I8 = 20,
740 VT_UI8 = 21,
741 VT_INT = 22,
742 VT_UINT = 23,
743 VT_VOID = 24,
744 VT_HRESULT = 25,
745 VT_PTR = 26,
746 VT_SAFEARRAY = 27,
747 VT_CARRAY = 28,
748 VT_USERDEFINED = 29,
749 VT_LPSTR = 30,
750 VT_LPWSTR = 31,
751 VT_RECORD = 36,
752 VT_INT_PTR = 37,
753 VT_UINT_PTR = 38,
754 VT_FILETIME = 64,
755 VT_BLOB = 65,
756 VT_STREAM = 66,
757 VT_STORAGE = 67,
758 VT_STREAMED_OBJECT = 68,
759 VT_STORED_OBJECT = 69,
760 VT_BLOB_OBJECT = 70,
761 VT_CF = 71,
762 VT_CLSID = 72,
763 VT_BSTR_BLOB = 0xfff,
764 VT_VECTOR = 0x1000,
765 VT_ARRAY = 0x2000,
766 VT_BYREF = 0x4000,
767 VT_RESERVED = 0x8000,
768 VT_ILLEGAL = 0xffff,
769 VT_ILLEGALMASKED = 0xfff,
770 VT_TYPEMASK = 0xfff
773 #ifdef __cplusplus
775 #endif
776 #endif /* __WIDL_WTYPES_H */