1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-joshualang/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 26 extern "C" { 27 #endif 28 29 /***************************************************************************** 30 * IWinTypes interface (v0.1) 31 */ 32 #ifndef __IWinTypes_INTERFACE_DEFINED__ 33 #define __IWinTypes_INTERFACE_DEFINED__ 34 35 extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec; 36 extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec; 37 typedef struct tagRemHGLOBAL { 38 LONG fNullHGlobal; 39 ULONG cbData; 40 byte data[1]; 41 } RemHGLOBAL; 42 typedef struct tagRemHMETAFILEPICT { 43 LONG mm; 44 LONG xExt; 45 LONG yExt; 46 ULONG cbData; 47 byte data[1]; 48 } RemHMETAFILEPICT; 49 typedef struct tagRemHENHMETAFILE { 50 ULONG cbData; 51 byte data[1]; 52 } RemHENHMETAFILE; 53 typedef struct tagRemHBITMAP { 54 ULONG cbData; 55 byte data[1]; 56 } RemHBITMAP; 57 typedef struct tagRemHPALETTE { 58 ULONG cbData; 59 byte data[1]; 60 } RemHPALETTE; 61 typedef struct tagRemBRUSH { 62 ULONG cbData; 63 byte data[1]; 64 } RemHBRUSH; 65 #if 0 66 typedef byte BYTE; 67 typedef unsigned short WORD; 68 typedef unsigned int UINT; 69 typedef int INT; 70 typedef LONG BOOL; 71 typedef LONG WINBOOL; 72 typedef LONG LONG; 73 typedef UINT_PTR WPARAM; 74 typedef ULONG DWORD; 75 typedef LONG_PTR LPARAM; 76 typedef LONG_PTR LRESULT; 77 typedef void *HANDLE; 78 typedef void *HMODULE; 79 typedef void *HINSTANCE; 80 typedef void *HTASK; 81 typedef void *HKEY; 82 typedef void *HDESK; 83 typedef void *HMF; 84 typedef void *HEMF; 85 typedef void *HPEN; 86 typedef void *HRSRC; 87 typedef void *HSTR; 88 typedef void *HWINSTA; 89 typedef void *HKL; 90 typedef void *HGDIOBJ; 91 typedef HANDLE HDWP; 92 typedef INT HFILE; 93 typedef WORD *LPWORD; 94 typedef DWORD *LPDWORD; 95 typedef char CHAR; 96 typedef CHAR *LPSTR; 97 typedef const CHAR *LPCSTR; 98 typedef wchar_t WCHAR; 99 typedef WCHAR *LPWSTR; 100 typedef const WCHAR *LPCWSTR; 101 typedef WCHAR TCHAR; 102 typedef TCHAR *LPTSTR; 103 typedef const TCHAR *LPCTSTR; 104 typedef DWORD COLORREF; 105 typedef DWORD *LPCOLORREF; 106 typedef HANDLE *LPHANDLE; 107 typedef struct _RECTL { 108 LONG left; 109 LONG top; 110 LONG right; 111 LONG bottom; 112 } RECTL; 113 typedef struct _RECTL *PRECTL; 114 typedef struct _RECTL *LPRECTL; 115 typedef struct tagPOINT { 116 LONG x; 117 LONG y; 118 } POINT; 119 typedef struct tagPOINT *PPOINT; 120 typedef struct tagPOINT *LPPOINT; 121 typedef struct tagPOINTL { 122 LONG x; 123 LONG y; 124 } POINTL; 125 typedef struct tagPOINTL *PPOINTL; 126 typedef struct tagSIZE { 127 LONG cx; 128 LONG cy; 129 } SIZE; 130 typedef struct tagSIZE *PSIZE; 131 typedef struct tagSIZE *LPSIZE; 132 typedef struct tagSIZEL { 133 LONG cx; 134 LONG cy; 135 } SIZEL; 136 typedef struct tagSIZEL *PSIZEL; 137 typedef struct tagSIZEL *LPSIZEL; 138 #endif 139 #ifndef _PALETTEENTRY_DEFINED 140 #define _PALETTEENTRY_DEFINED 141 typedef struct tagPALETTEENTRY { 142 BYTE peRed; 143 BYTE peGreen; 144 BYTE peBlue; 145 BYTE peFlags; 146 } PALETTEENTRY; 147 typedef struct tagPALETTEENTRY *PPALETTEENTRY; 148 typedef struct tagPALETTEENTRY *LPPALETTEENTRY; 149 #endif 150 #ifndef _LOGPALETTE_DEFINED 151 #define _LOGPALETTE_DEFINED 152 typedef struct tagLOGPALETTE { 153 WORD palVersion; 154 WORD palNumEntries; 155 PALETTEENTRY palPalEntry[1]; 156 } LOGPALETTE; 157 typedef struct tagLOGPALETTE *PLOGPALETTE; 158 typedef struct tagLOGPALETTE *LPLOGPALETTE; 159 #endif 160 #ifndef OLE2ANSI 161 typedef WCHAR OLECHAR; 162 typedef OLECHAR *LPOLESTR; 163 typedef 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_ 172 typedef const RECTL *LPCRECTL; 173 typedef void *PVOID; 174 typedef void *LPVOID; 175 typedef float FLOAT; 176 typedef struct tagRECT { 177 LONG left; 178 LONG top; 179 LONG right; 180 LONG bottom; 181 } RECT; 182 typedef struct tagRECT *PRECT; 183 typedef struct tagRECT *LPRECT; 184 typedef const RECT *LPCRECT; 185 #endif 186 #ifndef BASETYPES 187 #define BASETYPES 188 typedef unsigned char UCHAR; 189 typedef short SHORT; 190 typedef unsigned short USHORT; 191 typedef DWORD ULONG; 192 typedef ULONG *PULONG; 193 typedef USHORT *PUSHORT; 194 typedef UCHAR *PUCHAR; 195 typedef char *PSZ; 196 #endif 197 typedef double DOUBLE; 198 #ifndef _DWORDLONG_ 199 #define _DWORDLONG_ 200 __MINGW_EXTENSION 201 typedef UINT64 DWORDLONG; 202 typedef DWORDLONG *PDWORDLONG; 203 #endif 204 #ifndef _ULONGLONG_ 205 __MINGW_EXTENSION 206 typedef INT64 LONGLONG; 207 __MINGW_EXTENSION 208 typedef UINT64 ULONGLONG; 209 typedef LONGLONG *PLONGLONG; 210 typedef ULONGLONG *PULONGLONG; 211 #endif 212 #if 0 213 typedef struct _LARGE_INTEGER { 214 LONGLONG QuadPart; 215 } LARGE_INTEGER; 216 typedef struct _LARGE_INTEGER *PLARGE_INTEGER; 217 typedef struct _ULARGE_INTEGER { 218 ULONGLONG QuadPart; 219 } ULARGE_INTEGER; 220 #endif 221 #ifndef _WINBASE_ 222 #ifndef _FILETIME_ 223 #define _FILETIME_ 224 typedef struct _FILETIME { 225 DWORD dwLowDateTime; 226 DWORD dwHighDateTime; 227 } FILETIME; 228 typedef struct _FILETIME *PFILETIME; 229 typedef struct _FILETIME *LPFILETIME; 230 #endif 231 #ifndef _SYSTEMTIME_ 232 #define _SYSTEMTIME_ 233 typedef 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; 243 typedef struct _SYSTEMTIME *PSYSTEMTIME; 244 typedef struct _SYSTEMTIME *LPSYSTEMTIME; 245 #endif 246 #ifndef _SECURITY_ATTRIBUTES_ 247 #define _SECURITY_ATTRIBUTES_ 248 typedef struct _SECURITY_ATTRIBUTES { 249 DWORD nLength; 250 LPVOID lpSecurityDescriptor; 251 WINBOOL bInheritHandle; 252 } SECURITY_ATTRIBUTES; 253 typedef struct _SECURITY_ATTRIBUTES *PSECURITY_ATTRIBUTES; 254 typedef struct _SECURITY_ATTRIBUTES *LPSECURITY_ATTRIBUTES; 255 #endif 256 #ifndef SECURITY_DESCRIPTOR_REVISION 257 typedef USHORT SECURITY_DESCRIPTOR_CONTROL; 258 typedef USHORT *PSECURITY_DESCRIPTOR_CONTROL; 259 typedef PVOID PSID; 260 typedef struct _ACL { 261 UCHAR AclRevision; 262 UCHAR Sbz1; 263 USHORT AclSize; 264 USHORT AceCount; 265 USHORT Sbz2; 266 } ACL; 267 typedef struct _ACL *PACL; 268 typedef 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; 277 typedef struct _SECURITY_DESCRIPTOR *PISECURITY_DESCRIPTOR; 278 #endif 279 #endif 280 typedef 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; 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; 298 typedef LONG SCODE; 299 typedef SCODE *PSCODE; 300 #ifndef _HRESULT_DEFINED 301 #define _HRESULT_DEFINED 302 typedef LONG HRESULT; 303 #endif 304 #ifndef __OBJECTID_DEFINED 305 #define __OBJECTID_DEFINED 306 #define _OBJECTID_DEFINED 307 typedef struct _OBJECTID { 308 GUID Lineage; 309 ULONG Uniquifier; 310 } OBJECTID; 311 #endif 312 #if 0 313 typedef GUID *REFGUID; 314 typedef IID *REFIID; 315 typedef CLSID *REFCLSID; 316 typedef FMTID *REFFMTID; 317 #endif 318 typedef 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 334 typedef 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; 356 typedef 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; 366 typedef enum tagMSHCTX { 367 MSHCTX_LOCAL = 0, 368 MSHCTX_NOSHAREDMEM = 1, 369 MSHCTX_DIFFERENTMACHINE = 2, 370 MSHCTX_INPROC = 3, 371 MSHCTX_CROSSCTX = 4 372 } MSHCTX; 373 typedef enum tagDVASPECT { 374 DVASPECT_CONTENT = 1, 375 DVASPECT_THUMBNAIL = 2, 376 DVASPECT_ICON = 4, 377 DVASPECT_DOCPRINT = 8 378 } DVASPECT; 379 typedef enum tagSTGC { 380 STGC_DEFAULT = 0, 381 STGC_OVERWRITE = 1, 382 STGC_ONLYIFCURRENT = 2, 383 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, 384 STGC_CONSOLIDATE = 8 385 } STGC; 386 typedef enum tagSTGMOVE { 387 STGMOVE_MOVE = 0, 388 STGMOVE_COPY = 1, 389 STGMOVE_SHALLOWCOPY = 2 390 } STGMOVE; 391 typedef enum tagSTATFLAG { 392 STATFLAG_DEFAULT = 0, 393 STATFLAG_NONAME = 1, 394 STATFLAG_NOOPEN = 2 395 } STATFLAG; 396 typedef void *HCONTEXT; 397 #ifndef _LCID_DEFINED 398 #define _LCID_DEFINED 399 typedef DWORD LCID; 400 #endif 401 #ifndef _LANGID_DEFINED 402 #define _LANGID_DEFINED 403 typedef USHORT LANGID; 404 #endif 405 typedef struct _BYTE_BLOB { 406 ULONG clSize; 407 byte abData[1]; 408 } BYTE_BLOB; 409 typedef BYTE_BLOB *UP_BYTE_BLOB; 410 typedef struct _WORD_BLOB { 411 ULONG clSize; 412 unsigned short asData[1]; 413 } WORD_BLOB; 414 typedef WORD_BLOB *UP_WORD_BLOB; 415 typedef struct _DWORD_BLOB { 416 ULONG clSize; 417 ULONG alData[1]; 418 } DWORD_BLOB; 419 typedef DWORD_BLOB *UP_DWORD_BLOB; 420 typedef struct _FLAGGED_BYTE_BLOB { 421 ULONG fFlags; 422 ULONG clSize; 423 byte abData[1]; 424 } FLAGGED_BYTE_BLOB; 425 typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB; 426 typedef struct _FLAGGED_WORD_BLOB { 427 ULONG fFlags; 428 ULONG clSize; 429 unsigned short asData[1]; 430 } FLAGGED_WORD_BLOB; 431 typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB; 432 typedef struct _BYTE_SIZEDARR { 433 ULONG clSize; 434 byte *pData; 435 } BYTE_SIZEDARR; 436 typedef struct _SHORT_SIZEDARR { 437 ULONG clSize; 438 unsigned short *pData; 439 } WORD_SIZEDARR; 440 typedef struct _LONG_SIZEDARR { 441 ULONG clSize; 442 ULONG *pData; 443 } DWORD_SIZEDARR; 444 typedef 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 454 typedef struct _userCLIPFORMAT { 455 LONG fContext; 456 union { 457 DWORD dwValue; 458 wchar_t *pwszName; 459 } u; 460 } userCLIPFORMAT; 461 typedef userCLIPFORMAT *wireCLIPFORMAT; 462 typedef WORD CLIPFORMAT; 463 typedef struct _GDI_NONREMOTE { 464 LONG fContext; 465 union { 466 LONG hInproc; 467 DWORD_BLOB *hRemote; 468 } u; 469 } GDI_NONREMOTE; 470 typedef struct _userHGLOBAL { 471 LONG fContext; 472 union { 473 LONG hInproc; 474 FLAGGED_BYTE_BLOB *hRemote; 475 INT64 hInproc64; 476 } tagged_union; 477 } userHGLOBAL; 478 typedef userHGLOBAL *wireHGLOBAL; 479 typedef struct _userHMETAFILE { 480 LONG fContext; 481 union { 482 LONG hInproc; 483 BYTE_BLOB *hRemote; 484 INT64 hInproc64; 485 } tagged_union; 486 } userHMETAFILE; 487 typedef struct _remoteMETAFILEPICT { 488 LONG mm; 489 LONG xExt; 490 LONG yExt; 491 userHMETAFILE *hMF; 492 } remoteMETAFILEPICT; 493 typedef struct _userHMETAFILEPICT { 494 LONG fContext; 495 union { 496 LONG hInproc; 497 remoteMETAFILEPICT *hRemote; 498 INT64 hInproc64; 499 } tagged_union; 500 } userHMETAFILEPICT; 501 typedef struct _userHENHMETAFILE { 502 LONG fContext; 503 union { 504 LONG hInproc; 505 BYTE_BLOB *hRemote; 506 INT64 hInproc64; 507 } tagged_union; 508 } userHENHMETAFILE; 509 typedef 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; 519 typedef struct _userHBITMAP { 520 LONG fContext; 521 union { 522 LONG hInproc; 523 userBITMAP *hRemote; 524 INT64 hInproc64; 525 } u; 526 } userHBITMAP; 527 typedef struct _userHPALETTE { 528 LONG fContext; 529 union { 530 LONG hInproc; 531 LOGPALETTE *hRemote; 532 INT64 hInproc64; 533 } u; 534 } userHPALETTE; 535 typedef struct _RemotableHandle { 536 LONG fContext; 537 union { 538 LONG hInproc; 539 LONG hRemote; 540 } tagged_union; 541 } RemotableHandle; 542 typedef RemotableHandle *wireHWND; 543 typedef RemotableHandle *wireHMENU; 544 typedef RemotableHandle *wireHACCEL; 545 typedef RemotableHandle *wireHBRUSH; 546 typedef RemotableHandle *wireHFONT; 547 typedef RemotableHandle *wireHDC; 548 typedef RemotableHandle *wireHICON; 549 typedef RemotableHandle *wireHRGN; 550 #if 0 551 typedef void *HWND; 552 typedef void *HMENU; 553 typedef void *HACCEL; 554 typedef void *HBRUSH; 555 typedef void *HFONT; 556 typedef void *HDC; 557 typedef void *HICON; 558 typedef void *HRGN; 559 typedef HICON HCURSOR; 560 #endif 561 #ifndef _TEXTMETRIC_DEFINED 562 #define _TEXTMETRIC_DEFINED 563 typedef 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; 585 typedef struct tagTEXTMETRICW *PTEXTMETRICW; 586 typedef struct tagTEXTMETRICW *LPTEXTMETRICW; 587 #endif 588 #if 0 589 typedef struct tagMSG { 590 HWND hwnd; 591 UINT message; 592 WPARAM wParam; 593 LPARAM lParaml; 594 DWORD time; 595 POINT pt; 596 } MSG; 597 typedef struct tagMSG *PMSG; 598 typedef struct tagMSG *NPMSG; 599 typedef struct tagMSG *LPMSG; 600 #endif 601 typedef userHBITMAP *wireHBITMAP; 602 typedef userHPALETTE *wireHPALETTE; 603 typedef userHENHMETAFILE *wireHENHMETAFILE; 604 typedef userHMETAFILE *wireHMETAFILE; 605 typedef userHMETAFILEPICT *wireHMETAFILEPICT; 606 #if 0 607 typedef void *HGLOBAL; 608 typedef HGLOBAL HLOCAL; 609 typedef void *HBITMAP; 610 typedef void *HPALETTE; 611 typedef void *HENHMETAFILE; 612 typedef void *HMETAFILE; 613 #endif 614 typedef void *HMETAFILEPICT; 615 616 #endif /* __IWinTypes_INTERFACE_DEFINED__ */ 617 618 typedef double DATE; 619 #ifndef _tagCY_DEFINED 620 #define _tagCY_DEFINED 621 #define _CY_DEFINED 622 #if 0 623 typedef 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 636 typedef CY *LPCY; 637 #if 0 638 typedef 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 667 typedef DECIMAL *LPDECIMAL; 668 typedef FLAGGED_WORD_BLOB *wireBSTR; 669 typedef OLECHAR *BSTR; 670 typedef BSTR *LPBSTR; 671 typedef short VARIANT_BOOL; 672 typedef VARIANT_BOOL _VARIANT_BOOL; 673 #ifndef _BOOLEAN_ 674 #define _BOOLEAN_ 675 typedef boolean BOOLEAN; 676 #endif 677 #ifndef _tagBSTRBLOB_DEFINED 678 #define _tagBSTRBLOB_DEFINED 679 typedef struct tagBSTRBLOB { 680 ULONG cbSize; 681 BYTE *pData; 682 } BSTRBLOB; 683 typedef 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 691 typedef struct tagBLOB { 692 ULONG cbSize; 693 BYTE *pBlobData; 694 } BLOB; 695 typedef struct tagBLOB *LPBLOB; 696 #endif 697 typedef struct tagCLIPDATA { 698 ULONG cbSize; 699 LONG ulClipFmt; 700 BYTE *pClipData; 701 } CLIPDATA; 702 #define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt)) 703 typedef unsigned short VARTYPE; 704 enum 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 759 typedef ULONG PROPID; 760 #ifndef PROPERTYKEY_DEFINED 761 #define PROPERTYKEY_DEFINED 762 typedef struct _tagpropertykey { 763 GUID fmtid; 764 DWORD pid; 765 } PROPERTYKEY; 766 #endif 767 #ifndef SID_IDENTIFIER_AUTHORITY_DEFINED 768 #define SID_IDENTIFIER_AUTHORITY_DEFINED 769 typedef struct _SID_IDENTIFIER_AUTHORITY { 770 UCHAR Value[6]; 771 } SID_IDENTIFIER_AUTHORITY; 772 typedef struct _SID_IDENTIFIER_AUTHORITY *PSID_IDENTIFIER_AUTHORITY; 773 #endif 774 #ifndef SID_DEFINED 775 #define SID_DEFINED 776 typedef struct _SID { 777 BYTE Revision; 778 BYTE SubAuthorityCount; 779 SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 780 ULONG SubAuthority[1]; 781 } SID; 782 typedef struct _SID *PISID; 783 typedef struct _SID_AND_ATTRIBUTES { 784 SID *Sid; 785 DWORD Attributes; 786 } SID_AND_ATTRIBUTES; 787 typedef struct _SID_AND_ATTRIBUTES *PSID_AND_ATTRIBUTES; 788 #endif 789 typedef struct tagCSPLATFORM { 790 DWORD dwPlatformId; 791 DWORD dwVersionHi; 792 DWORD dwVersionLo; 793 DWORD dwProcessorArch; 794 } CSPLATFORM; 795 typedef struct tagQUERYCONTEXT { 796 DWORD dwContext; 797 CSPLATFORM Platform; 798 LCID Locale; 799 DWORD dwVersionHi; 800 DWORD dwVersionLo; 801 } QUERYCONTEXT; 802 typedef 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; 811 typedef 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