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