1/*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/include/wtypes.idl - Do not edit ***/ 2 3#ifndef __REQUIRED_RPCNDR_H_VERSION__ 4#define __REQUIRED_RPCNDR_H_VERSION__ 475 5#endif 6 7#include <rpc.h> 8#include <rpcndr.h> 9 10#ifndef COM_NO_WINDOWS_H 11#include <windows.h> 12#include <ole2.h> 13#endif 14 15#ifndef __wtypes_h__ 16#define __wtypes_h__ 17 18/* Forward declarations */ 19 20/* Headers for imported files */ 21 22#include <basetsd.h> 23#include <guiddef.h> 24 25#ifdef __cplusplus 26extern "C" { 27#endif 28 29/***************************************************************************** 30 * IWinTypes interface (v0.1) 31 */ 32#ifndef __IWinTypes_INTERFACE_DEFINED__ 33#define __IWinTypes_INTERFACE_DEFINED__ 34 35extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec; 36extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec; 37typedef struct tagRemHGLOBAL { 38 LONG fNullHGlobal; 39 ULONG cbData; 40 byte data[1]; 41} RemHGLOBAL; 42typedef struct tagRemHMETAFILEPICT { 43 LONG mm; 44 LONG xExt; 45 LONG yExt; 46 ULONG cbData; 47 byte data[1]; 48} RemHMETAFILEPICT; 49typedef struct tagRemHENHMETAFILE { 50 ULONG cbData; 51 byte data[1]; 52} RemHENHMETAFILE; 53typedef struct tagRemHBITMAP { 54 ULONG cbData; 55 byte data[1]; 56} RemHBITMAP; 57typedef struct tagRemHPALETTE { 58 ULONG cbData; 59 byte data[1]; 60} RemHPALETTE; 61typedef struct tagRemBRUSH { 62 ULONG cbData; 63 byte data[1]; 64} RemHBRUSH; 65#if 0 66typedef byte BYTE; 67typedef unsigned short WORD; 68typedef unsigned int UINT; 69typedef int INT; 70typedef LONG BOOL; 71typedef LONG WINBOOL; 72typedef LONG LONG; 73typedef UINT_PTR WPARAM; 74typedef ULONG DWORD; 75typedef LONG_PTR LPARAM; 76typedef LONG_PTR LRESULT; 77typedef void *HANDLE; 78typedef void *HMODULE; 79typedef void *HINSTANCE; 80typedef void *HTASK; 81typedef void *HKEY; 82typedef void *HDESK; 83typedef void *HMF; 84typedef void *HEMF; 85typedef void *HPEN; 86typedef void *HRSRC; 87typedef void *HSTR; 88typedef void *HWINSTA; 89typedef void *HKL; 90typedef void *HGDIOBJ; 91typedef HANDLE HDWP; 92typedef INT HFILE; 93typedef WORD *LPWORD; 94typedef DWORD *LPDWORD; 95typedef char CHAR; 96typedef CHAR *LPSTR; 97typedef const CHAR *LPCSTR; 98typedef wchar_t WCHAR; 99typedef WCHAR *LPWSTR; 100typedef const WCHAR *LPCWSTR; 101typedef WCHAR TCHAR; 102typedef TCHAR *LPTSTR; 103typedef const TCHAR *LPCTSTR; 104typedef DWORD COLORREF; 105typedef DWORD *LPCOLORREF; 106typedef HANDLE *LPHANDLE; 107typedef struct _RECTL { 108 LONG left; 109 LONG top; 110 LONG right; 111 LONG bottom; 112} RECTL; 113typedef struct _RECTL *PRECTL; 114typedef struct _RECTL *LPRECTL; 115typedef struct tagPOINT { 116 LONG x; 117 LONG y; 118} POINT; 119typedef struct tagPOINT *PPOINT; 120typedef struct tagPOINT *LPPOINT; 121typedef struct tagPOINTL { 122 LONG x; 123 LONG y; 124} POINTL; 125typedef struct tagPOINTL *PPOINTL; 126typedef struct tagSIZE { 127 LONG cx; 128 LONG cy; 129} SIZE; 130typedef struct tagSIZE *PSIZE; 131typedef struct tagSIZE *LPSIZE; 132typedef struct tagSIZEL { 133 LONG cx; 134 LONG cy; 135} SIZEL; 136typedef struct tagSIZEL *PSIZEL; 137typedef struct tagSIZEL *LPSIZEL; 138#endif 139#ifndef _PALETTEENTRY_DEFINED 140#define _PALETTEENTRY_DEFINED 141typedef struct tagPALETTEENTRY { 142 BYTE peRed; 143 BYTE peGreen; 144 BYTE peBlue; 145 BYTE peFlags; 146} PALETTEENTRY; 147typedef struct tagPALETTEENTRY *PPALETTEENTRY; 148typedef struct tagPALETTEENTRY *LPPALETTEENTRY; 149#endif 150#ifndef _LOGPALETTE_DEFINED 151#define _LOGPALETTE_DEFINED 152typedef struct tagLOGPALETTE { 153 WORD palVersion; 154 WORD palNumEntries; 155 PALETTEENTRY palPalEntry[1]; 156} LOGPALETTE; 157typedef struct tagLOGPALETTE *PLOGPALETTE; 158typedef struct tagLOGPALETTE *LPLOGPALETTE; 159#endif 160#ifndef OLE2ANSI 161typedef WCHAR OLECHAR; 162typedef OLECHAR *LPOLESTR; 163typedef const OLECHAR *LPCOLESTR; 164#define OLESTR(str) L##str 165#else 166 typedef char OLECHAR; 167 typedef LPSTR LPOLESTR; 168 typedef LPCSTR LPCOLESTR; 169#define OLESTR(str) str 170#endif 171#ifndef _WINDEF_ 172typedef const RECTL *LPCRECTL; 173typedef void *PVOID; 174typedef void *LPVOID; 175typedef float FLOAT; 176typedef struct tagRECT { 177 LONG left; 178 LONG top; 179 LONG right; 180 LONG bottom; 181} RECT; 182typedef struct tagRECT *PRECT; 183typedef struct tagRECT *LPRECT; 184typedef const RECT *LPCRECT; 185#endif 186#ifndef BASETYPES 187#define BASETYPES 188typedef unsigned char UCHAR; 189typedef short SHORT; 190typedef unsigned short USHORT; 191typedef DWORD ULONG; 192 typedef ULONG *PULONG; 193 typedef USHORT *PUSHORT; 194 typedef UCHAR *PUCHAR; 195 typedef char *PSZ; 196#endif 197typedef double DOUBLE; 198#ifndef _DWORDLONG_ 199#define _DWORDLONG_ 200 __MINGW_EXTENSION 201typedef UINT64 DWORDLONG; 202typedef DWORDLONG *PDWORDLONG; 203#endif 204#ifndef _ULONGLONG_ 205 __MINGW_EXTENSION 206typedef INT64 LONGLONG; 207 __MINGW_EXTENSION 208typedef UINT64 ULONGLONG; 209typedef LONGLONG *PLONGLONG; 210typedef ULONGLONG *PULONGLONG; 211#endif 212#if 0 213typedef struct _LARGE_INTEGER { 214 LONGLONG QuadPart; 215} LARGE_INTEGER; 216typedef struct _LARGE_INTEGER *PLARGE_INTEGER; 217typedef struct _ULARGE_INTEGER { 218 ULONGLONG QuadPart; 219} ULARGE_INTEGER; 220#endif 221#ifndef _WINBASE_ 222#ifndef _FILETIME_ 223#define _FILETIME_ 224typedef struct _FILETIME { 225 DWORD dwLowDateTime; 226 DWORD dwHighDateTime; 227} FILETIME; 228typedef struct _FILETIME *PFILETIME; 229typedef struct _FILETIME *LPFILETIME; 230#endif 231#ifndef _SYSTEMTIME_ 232#define _SYSTEMTIME_ 233typedef struct _SYSTEMTIME { 234 WORD wYear; 235 WORD wMonth; 236 WORD wDayOfWeek; 237 WORD wDay; 238 WORD wHour; 239 WORD wMinute; 240 WORD wSecond; 241 WORD wMilliseconds; 242} SYSTEMTIME; 243typedef struct _SYSTEMTIME *PSYSTEMTIME; 244typedef struct _SYSTEMTIME *LPSYSTEMTIME; 245#endif 246#ifndef _SECURITY_ATTRIBUTES_ 247#define _SECURITY_ATTRIBUTES_ 248typedef struct _SECURITY_ATTRIBUTES { 249 DWORD nLength; 250 LPVOID lpSecurityDescriptor; 251 WINBOOL bInheritHandle; 252} SECURITY_ATTRIBUTES; 253typedef struct _SECURITY_ATTRIBUTES *PSECURITY_ATTRIBUTES; 254typedef struct _SECURITY_ATTRIBUTES *LPSECURITY_ATTRIBUTES; 255#endif 256#ifndef SECURITY_DESCRIPTOR_REVISION 257typedef USHORT SECURITY_DESCRIPTOR_CONTROL; 258typedef USHORT *PSECURITY_DESCRIPTOR_CONTROL; 259typedef PVOID PSID; 260typedef struct _ACL { 261 UCHAR AclRevision; 262 UCHAR Sbz1; 263 USHORT AclSize; 264 USHORT AceCount; 265 USHORT Sbz2; 266} ACL; 267typedef struct _ACL *PACL; 268typedef struct _SECURITY_DESCRIPTOR { 269 UCHAR Revision; 270 UCHAR Sbz1; 271 SECURITY_DESCRIPTOR_CONTROL Control; 272 PSID Owner; 273 PSID Group; 274 PACL Sacl; 275 PACL Dacl; 276} SECURITY_DESCRIPTOR; 277typedef struct _SECURITY_DESCRIPTOR *PISECURITY_DESCRIPTOR; 278#endif 279#endif 280typedef struct _COAUTHIDENTITY { 281 USHORT *User; 282 ULONG UserLength; 283 USHORT *Domain; 284 ULONG DomainLength; 285 USHORT *Password; 286 ULONG PasswordLength; 287 ULONG Flags; 288} COAUTHIDENTITY; 289typedef 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; 298typedef LONG SCODE; 299typedef SCODE *PSCODE; 300#ifndef _HRESULT_DEFINED 301#define _HRESULT_DEFINED 302typedef LONG HRESULT; 303#endif 304#ifndef __OBJECTID_DEFINED 305#define __OBJECTID_DEFINED 306#define _OBJECTID_DEFINED 307typedef struct _OBJECTID { 308 GUID Lineage; 309 ULONG Uniquifier; 310} OBJECTID; 311#endif 312#if 0 313typedef GUID *REFGUID; 314typedef IID *REFIID; 315typedef CLSID *REFCLSID; 316typedef FMTID *REFFMTID; 317#endif 318typedef enum tagMEMCTX { 319 MEMCTX_TASK = 1, 320 MEMCTX_SHARED = 2, 321 MEMCTX_MACSYSTEM = 3, 322 MEMCTX_UNKNOWN = -1, 323 MEMCTX_SAME = -2 324} MEMCTX; 325#ifndef _ROTFLAGS_DEFINED 326#define _ROTFLAGS_DEFINED 327#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1 328#define ROTFLAGS_ALLOWANYCLIENT 0x2 329#endif 330#ifndef _ROT_COMPARE_MAX_DEFINED 331#define _ROT_COMPARE_MAX_DEFINED 332#define ROT_COMPARE_MAX 2048 333#endif 334typedef enum tagCLSCTX { 335 CLSCTX_INPROC_SERVER = 0x1, 336 CLSCTX_INPROC_HANDLER = 0x2, 337 CLSCTX_LOCAL_SERVER = 0x4, 338 CLSCTX_INPROC_SERVER16 = 0x8, 339 CLSCTX_REMOTE_SERVER = 0x10, 340 CLSCTX_INPROC_HANDLER16 = 0x20, 341 CLSCTX_RESERVED1 = 0x40, 342 CLSCTX_RESERVED2 = 0x80, 343 CLSCTX_RESERVED3 = 0x100, 344 CLSCTX_RESERVED4 = 0x200, 345 CLSCTX_NO_CODE_DOWNLOAD = 0x400, 346 CLSCTX_RESERVED5 = 0x800, 347 CLSCTX_NO_CUSTOM_MARSHAL = 0x1000, 348 CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000, 349 CLSCTX_NO_FAILURE_LOG = 0x4000, 350 CLSCTX_DISABLE_AAA = 0x8000, 351 CLSCTX_ENABLE_AAA = 0x10000, 352 CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000, 353 CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000, 354 CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000 355} CLSCTX; 356typedef enum tagMSHLFLAGS { 357 MSHLFLAGS_NORMAL = 0, 358 MSHLFLAGS_TABLESTRONG = 1, 359 MSHLFLAGS_TABLEWEAK = 2, 360 MSHLFLAGS_NOPING = 4, 361 MSHLFLAGS_RESERVED1 = 8, 362 MSHLFLAGS_RESERVED2 = 16, 363 MSHLFLAGS_RESERVED3 = 32, 364 MSHLFLAGS_RESERVED4 = 64 365} MSHLFLAGS; 366typedef enum tagMSHCTX { 367 MSHCTX_LOCAL = 0, 368 MSHCTX_NOSHAREDMEM = 1, 369 MSHCTX_DIFFERENTMACHINE = 2, 370 MSHCTX_INPROC = 3, 371 MSHCTX_CROSSCTX = 4 372} MSHCTX; 373typedef enum tagDVASPECT { 374 DVASPECT_CONTENT = 1, 375 DVASPECT_THUMBNAIL = 2, 376 DVASPECT_ICON = 4, 377 DVASPECT_DOCPRINT = 8 378} DVASPECT; 379typedef enum tagSTGC { 380 STGC_DEFAULT = 0, 381 STGC_OVERWRITE = 1, 382 STGC_ONLYIFCURRENT = 2, 383 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, 384 STGC_CONSOLIDATE = 8 385} STGC; 386typedef enum tagSTGMOVE { 387 STGMOVE_MOVE = 0, 388 STGMOVE_COPY = 1, 389 STGMOVE_SHALLOWCOPY = 2 390} STGMOVE; 391typedef enum tagSTATFLAG { 392 STATFLAG_DEFAULT = 0, 393 STATFLAG_NONAME = 1, 394 STATFLAG_NOOPEN = 2 395} STATFLAG; 396typedef void *HCONTEXT; 397#ifndef _LCID_DEFINED 398#define _LCID_DEFINED 399typedef DWORD LCID; 400#endif 401#ifndef _LANGID_DEFINED 402#define _LANGID_DEFINED 403typedef USHORT LANGID; 404#endif 405typedef struct _BYTE_BLOB { 406 ULONG clSize; 407 byte abData[1]; 408} BYTE_BLOB; 409typedef BYTE_BLOB *UP_BYTE_BLOB; 410typedef struct _WORD_BLOB { 411 ULONG clSize; 412 unsigned short asData[1]; 413} WORD_BLOB; 414typedef WORD_BLOB *UP_WORD_BLOB; 415typedef struct _DWORD_BLOB { 416 ULONG clSize; 417 ULONG alData[1]; 418} DWORD_BLOB; 419typedef DWORD_BLOB *UP_DWORD_BLOB; 420typedef struct _FLAGGED_BYTE_BLOB { 421 ULONG fFlags; 422 ULONG clSize; 423 byte abData[1]; 424} FLAGGED_BYTE_BLOB; 425typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB; 426typedef struct _FLAGGED_WORD_BLOB { 427 ULONG fFlags; 428 ULONG clSize; 429 unsigned short asData[1]; 430} FLAGGED_WORD_BLOB; 431typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB; 432typedef struct _BYTE_SIZEDARR { 433 ULONG clSize; 434 byte *pData; 435} BYTE_SIZEDARR; 436typedef struct _SHORT_SIZEDARR { 437 ULONG clSize; 438 unsigned short *pData; 439} WORD_SIZEDARR; 440typedef struct _LONG_SIZEDARR { 441 ULONG clSize; 442 ULONG *pData; 443} DWORD_SIZEDARR; 444typedef struct _HYPER_SIZEDARR { 445 ULONG clSize; 446 hyper *pData; 447} HYPER_SIZEDARR; 448#define WDT_INPROC_CALL (0x48746457) 449 450#define WDT_REMOTE_CALL (0x52746457) 451 452#define WDT_INPROC64_CALL (0x50746457) 453 454typedef struct _userCLIPFORMAT { 455 LONG fContext; 456 union { 457 DWORD dwValue; 458 wchar_t *pwszName; 459 } u; 460} userCLIPFORMAT; 461typedef userCLIPFORMAT *wireCLIPFORMAT; 462typedef WORD CLIPFORMAT; 463typedef struct _GDI_NONREMOTE { 464 LONG fContext; 465 union { 466 LONG hInproc; 467 DWORD_BLOB *hRemote; 468 } u; 469} GDI_NONREMOTE; 470typedef struct _userHGLOBAL { 471 LONG fContext; 472 union { 473 LONG hInproc; 474 FLAGGED_BYTE_BLOB *hRemote; 475 INT64 hInproc64; 476 } tagged_union; 477} userHGLOBAL; 478typedef userHGLOBAL *wireHGLOBAL; 479typedef struct _userHMETAFILE { 480 LONG fContext; 481 union { 482 LONG hInproc; 483 BYTE_BLOB *hRemote; 484 INT64 hInproc64; 485 } tagged_union; 486} userHMETAFILE; 487typedef struct _remoteMETAFILEPICT { 488 LONG mm; 489 LONG xExt; 490 LONG yExt; 491 userHMETAFILE *hMF; 492} remoteMETAFILEPICT; 493typedef struct _userHMETAFILEPICT { 494 LONG fContext; 495 union { 496 LONG hInproc; 497 remoteMETAFILEPICT *hRemote; 498 INT64 hInproc64; 499 } tagged_union; 500} userHMETAFILEPICT; 501typedef struct _userHENHMETAFILE { 502 LONG fContext; 503 union { 504 LONG hInproc; 505 BYTE_BLOB *hRemote; 506 INT64 hInproc64; 507 } tagged_union; 508} userHENHMETAFILE; 509typedef struct _userBITMAP { 510 LONG bmType; 511 LONG bmWidth; 512 LONG bmHeight; 513 LONG bmWidthBytes; 514 WORD bmPlanes; 515 WORD bmBitsPixel; 516 ULONG cbSize; 517 byte pBuffer[1]; 518} userBITMAP; 519typedef struct _userHBITMAP { 520 LONG fContext; 521 union { 522 LONG hInproc; 523 userBITMAP *hRemote; 524 INT64 hInproc64; 525 } u; 526} userHBITMAP; 527typedef struct _userHPALETTE { 528 LONG fContext; 529 union { 530 LONG hInproc; 531 LOGPALETTE *hRemote; 532 INT64 hInproc64; 533 } u; 534} userHPALETTE; 535typedef struct _RemotableHandle { 536 LONG fContext; 537 union { 538 LONG hInproc; 539 LONG hRemote; 540 } tagged_union; 541} RemotableHandle; 542typedef RemotableHandle *wireHWND; 543typedef RemotableHandle *wireHMENU; 544typedef RemotableHandle *wireHACCEL; 545typedef RemotableHandle *wireHBRUSH; 546typedef RemotableHandle *wireHFONT; 547typedef RemotableHandle *wireHDC; 548typedef RemotableHandle *wireHICON; 549typedef RemotableHandle *wireHRGN; 550#if 0 551typedef void *HWND; 552typedef void *HMENU; 553typedef void *HACCEL; 554typedef void *HBRUSH; 555typedef void *HFONT; 556typedef void *HDC; 557typedef void *HICON; 558typedef void *HRGN; 559typedef HICON HCURSOR; 560#endif 561#ifndef _TEXTMETRIC_DEFINED 562#define _TEXTMETRIC_DEFINED 563typedef struct tagTEXTMETRICW { 564 LONG tmHeight; 565 LONG tmAscent; 566 LONG tmDescent; 567 LONG tmInternalLeading; 568 LONG tmExternalLeading; 569 LONG tmAveCharWidth; 570 LONG tmMaxCharWidth; 571 LONG tmWeight; 572 LONG tmOverhang; 573 LONG tmDigitizedAspectX; 574 LONG tmDigitizedAspectY; 575 WCHAR tmFirstChar; 576 WCHAR tmLastChar; 577 WCHAR tmDefaultChar; 578 WCHAR tmBreakChar; 579 BYTE tmItalic; 580 BYTE tmUnderlined; 581 BYTE tmStruckOut; 582 BYTE tmPitchAndFamily; 583 BYTE tmCharSet; 584} TEXTMETRICW; 585typedef struct tagTEXTMETRICW *PTEXTMETRICW; 586typedef struct tagTEXTMETRICW *LPTEXTMETRICW; 587#endif 588#if 0 589typedef struct tagMSG { 590 HWND hwnd; 591 UINT message; 592 WPARAM wParam; 593 LPARAM lParaml; 594 DWORD time; 595 POINT pt; 596} MSG; 597typedef struct tagMSG *PMSG; 598typedef struct tagMSG *NPMSG; 599typedef struct tagMSG *LPMSG; 600#endif 601typedef userHBITMAP *wireHBITMAP; 602typedef userHPALETTE *wireHPALETTE; 603typedef userHENHMETAFILE *wireHENHMETAFILE; 604typedef userHMETAFILE *wireHMETAFILE; 605typedef userHMETAFILEPICT *wireHMETAFILEPICT; 606#if 0 607typedef void *HGLOBAL; 608typedef HGLOBAL HLOCAL; 609typedef void *HBITMAP; 610typedef void *HPALETTE; 611typedef void *HENHMETAFILE; 612typedef void *HMETAFILE; 613#endif 614typedef void *HMETAFILEPICT; 615 616#endif /* __IWinTypes_INTERFACE_DEFINED__ */ 617 618typedef double DATE; 619#ifndef _tagCY_DEFINED 620#define _tagCY_DEFINED 621#define _CY_DEFINED 622#if 0 623typedef struct tagCY { 624 LONGLONG int64; 625} CY; 626#else 627 typedef union tagCY { 628 __C89_NAMELESS struct { 629 ULONG Lo; 630 LONG Hi; 631 } DUMMYSTRUCTNAME; 632 LONGLONG int64; 633 } CY; 634#endif 635#endif 636typedef CY *LPCY; 637#if 0 638typedef struct tagDEC { 639 USHORT wReserved; 640 BYTE scale; 641 BYTE sign; 642 ULONG Hi32; 643 ULONGLONG Lo64; 644} DECIMAL; 645#else 646 typedef struct tagDEC { 647 USHORT wReserved; 648 __C89_NAMELESS union { 649 __C89_NAMELESS struct { 650 BYTE scale; 651 BYTE sign; 652 } DUMMYSTRUCTNAME; 653 USHORT signscale; 654 } DUMMYUNIONNAME; 655 ULONG Hi32; 656 __C89_NAMELESS union { 657 __C89_NAMELESS struct { 658 ULONG Lo32; 659 ULONG Mid32; 660 } DUMMYSTRUCTNAME2; 661 ULONGLONG Lo64; 662 } DUMMYUNIONNAME2; 663 } DECIMAL; 664#define DECIMAL_NEG ((BYTE)0x80) 665#define DECIMAL_SETZERO(dec) {(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;} 666#endif 667typedef DECIMAL *LPDECIMAL; 668typedef FLAGGED_WORD_BLOB *wireBSTR; 669typedef OLECHAR *BSTR; 670typedef BSTR *LPBSTR; 671typedef short VARIANT_BOOL; 672typedef VARIANT_BOOL _VARIANT_BOOL; 673#ifndef _BOOLEAN_ 674#define _BOOLEAN_ 675typedef boolean BOOLEAN; 676#endif 677#ifndef _tagBSTRBLOB_DEFINED 678#define _tagBSTRBLOB_DEFINED 679typedef struct tagBSTRBLOB { 680 ULONG cbSize; 681 BYTE *pData; 682} BSTRBLOB; 683typedef struct tagBSTRBLOB *LPBSTRBLOB; 684#endif 685#define VARIANT_TRUE ((VARIANT_BOOL)-1) 686#define VARIANT_FALSE ((VARIANT_BOOL)0) 687#ifndef _tagBLOB_DEFINED 688#define _tagBLOB_DEFINED 689#define _BLOB_DEFINED 690#define _LPBLOB_DEFINED 691typedef struct tagBLOB { 692 ULONG cbSize; 693 BYTE *pBlobData; 694} BLOB; 695typedef struct tagBLOB *LPBLOB; 696#endif 697typedef struct tagCLIPDATA { 698 ULONG cbSize; 699 LONG ulClipFmt; 700 BYTE *pClipData; 701} CLIPDATA; 702#define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt)) 703typedef unsigned short VARTYPE; 704enum VARENUM { 705 VT_EMPTY = 0, 706 VT_NULL = 1, 707 VT_I2 = 2, 708 VT_I4 = 3, 709 VT_R4 = 4, 710 VT_R8 = 5, 711 VT_CY = 6, 712 VT_DATE = 7, 713 VT_BSTR = 8, 714 VT_DISPATCH = 9, 715 VT_ERROR = 10, 716 VT_BOOL = 11, 717 VT_VARIANT = 12, 718 VT_UNKNOWN = 13, 719 VT_DECIMAL = 14, 720 VT_I1 = 16, 721 VT_UI1 = 17, 722 VT_UI2 = 18, 723 VT_UI4 = 19, 724 VT_I8 = 20, 725 VT_UI8 = 21, 726 VT_INT = 22, 727 VT_UINT = 23, 728 VT_VOID = 24, 729 VT_HRESULT = 25, 730 VT_PTR = 26, 731 VT_SAFEARRAY = 27, 732 VT_CARRAY = 28, 733 VT_USERDEFINED = 29, 734 VT_LPSTR = 30, 735 VT_LPWSTR = 31, 736 VT_RECORD = 36, 737 VT_INT_PTR = 37, 738 VT_UINT_PTR = 38, 739 VT_FILETIME = 64, 740 VT_BLOB = 65, 741 VT_STREAM = 66, 742 VT_STORAGE = 67, 743 VT_STREAMED_OBJECT = 68, 744 VT_STORED_OBJECT = 69, 745 VT_BLOB_OBJECT = 70, 746 VT_CF = 71, 747 VT_CLSID = 72, 748 VT_VERSIONED_STREAM = 73, 749 VT_BSTR_BLOB = 0xfff, 750 VT_VECTOR = 0x1000, 751 VT_ARRAY = 0x2000, 752 VT_BYREF = 0x4000, 753 VT_RESERVED = 0x8000, 754 VT_ILLEGAL = 0xffff, 755 VT_ILLEGALMASKED = 0xfff, 756 VT_TYPEMASK = 0xfff 757}; 758 759typedef ULONG PROPID; 760#ifndef PROPERTYKEY_DEFINED 761#define PROPERTYKEY_DEFINED 762typedef struct _tagpropertykey { 763 GUID fmtid; 764 DWORD pid; 765} PROPERTYKEY; 766#endif 767#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED 768#define SID_IDENTIFIER_AUTHORITY_DEFINED 769typedef struct _SID_IDENTIFIER_AUTHORITY { 770 UCHAR Value[6]; 771} SID_IDENTIFIER_AUTHORITY; 772typedef struct _SID_IDENTIFIER_AUTHORITY *PSID_IDENTIFIER_AUTHORITY; 773#endif 774#ifndef SID_DEFINED 775#define SID_DEFINED 776typedef struct _SID { 777 BYTE Revision; 778 BYTE SubAuthorityCount; 779 SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 780 ULONG SubAuthority[1]; 781} SID; 782typedef struct _SID *PISID; 783typedef struct _SID_AND_ATTRIBUTES { 784 SID *Sid; 785 DWORD Attributes; 786} SID_AND_ATTRIBUTES; 787typedef struct _SID_AND_ATTRIBUTES *PSID_AND_ATTRIBUTES; 788#endif 789typedef struct tagCSPLATFORM { 790 DWORD dwPlatformId; 791 DWORD dwVersionHi; 792 DWORD dwVersionLo; 793 DWORD dwProcessorArch; 794} CSPLATFORM; 795typedef struct tagQUERYCONTEXT { 796 DWORD dwContext; 797 CSPLATFORM Platform; 798 LCID Locale; 799 DWORD dwVersionHi; 800 DWORD dwVersionLo; 801} QUERYCONTEXT; 802typedef enum tagTYSPEC { 803 TYSPEC_CLSID = 0, 804 TYSPEC_FILEEXT = 1, 805 TYSPEC_MIMETYPE = 2, 806 TYSPEC_FILENAME = 3, 807 TYSPEC_PROGID = 4, 808 TYSPEC_PACKAGENAME = 5, 809 TYSPEC_OBJECTID = 6 810} TYSPEC; 811typedef struct __WIDL_wtypes_generated_name_00000000 { 812 DWORD tyspec; 813 union { 814 CLSID clsid; 815 LPOLESTR pFileExt; 816 LPOLESTR pMimeType; 817 LPOLESTR pProgId; 818 LPOLESTR pFileName; 819 struct { 820 LPOLESTR pPackageName; 821 GUID PolicyId; 822 } ByName; 823 struct { 824 GUID ObjectId; 825 GUID PolicyId; 826 } ByObjectId; 827 } tagged_union; 828} uCLSSPEC; 829/* Begin additional prototypes for all interfaces */ 830 831 832/* End additional prototypes */ 833 834#ifdef __cplusplus 835} 836#endif 837 838#endif /* __wtypes_h__ */ 839