1 /*** Autogenerated by WIDL 4.12.1 from include/wtypes.idl - Do not edit ***/ 2 3 #ifdef _WIN32 4 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 5 #define __REQUIRED_RPCNDR_H_VERSION__ 475 6 #endif 7 #include <rpc.h> 8 #include <rpcndr.h> 9 #endif 10 11 #ifndef COM_NO_WINDOWS_H 12 #include <windows.h> 13 #include <ole2.h> 14 #endif 15 16 #ifndef __wtypes_h__ 17 #define __wtypes_h__ 18 19 /* Forward declarations */ 20 21 /* Headers for imported files */ 22 23 #include <wtypesbase.h> 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 /** 30 * This file is part of the mingw-w64 runtime package. 31 * No warranty is given; refer to the file DISCLAIMER within this package. 32 */ 33 34 35 /***************************************************************************** 36 * IWinTypes interface (v0.1) 37 */ 38 #ifndef __IWinTypes_INTERFACE_DEFINED__ 39 #define __IWinTypes_INTERFACE_DEFINED__ 40 41 extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec; 42 extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec; 43 typedef struct tagRemHGLOBAL { 44 LONG fNullHGlobal; 45 ULONG cbData; 46 byte data[1]; 47 } RemHGLOBAL; 48 49 typedef struct tagRemHMETAFILEPICT { 50 LONG mm; 51 LONG xExt; 52 LONG yExt; 53 ULONG cbData; 54 byte data[1]; 55 } RemHMETAFILEPICT; 56 57 typedef struct tagRemHENHMETAFILE { 58 ULONG cbData; 59 byte data[1]; 60 } RemHENHMETAFILE; 61 typedef struct tagRemHBITMAP { 62 ULONG cbData; 63 byte data[1]; 64 } RemHBITMAP; 65 66 typedef struct tagRemHPALETTE { 67 ULONG cbData; 68 byte data[1]; 69 } RemHPALETTE; 70 71 typedef struct tagRemBRUSH { 72 ULONG cbData; 73 byte data[1]; 74 } RemHBRUSH; 75 #if 0 76 typedef UINT_PTR WPARAM; 77 typedef LONG_PTR LPARAM; 78 typedef LONG_PTR LRESULT; 79 typedef void *HMODULE; 80 typedef void *HINSTANCE; 81 typedef void *HTASK; 82 typedef void *HKEY; 83 typedef void *HDESK; 84 typedef void *HMF; 85 typedef void *HEMF; 86 typedef void *HPEN; 87 typedef void *HRSRC; 88 typedef void *HSTR; 89 typedef void *HWINSTA; 90 typedef void *HKL; 91 typedef void *HGDIOBJ; 92 typedef HANDLE HDWP; 93 typedef INT HFILE; 94 typedef DWORD COLORREF; 95 typedef DWORD *LPCOLORREF; 96 typedef struct _RECTL { 97 LONG left; 98 LONG top; 99 LONG right; 100 LONG bottom; 101 } RECTL; 102 typedef struct _RECTL *PRECTL; 103 typedef struct _RECTL *LPRECTL; 104 typedef struct tagPOINT { 105 LONG x; 106 LONG y; 107 } POINT; 108 typedef struct tagPOINT *PPOINT; 109 typedef struct tagPOINT *LPPOINT; 110 typedef struct _POINTL { 111 LONG x; 112 LONG y; 113 } POINTL; 114 typedef struct _POINTL *PPOINTL; 115 typedef struct tagSIZE { 116 LONG cx; 117 LONG cy; 118 } SIZE; 119 typedef struct tagSIZE *PSIZE; 120 typedef struct tagSIZE *LPSIZE; 121 typedef struct tagSIZEL { 122 LONG cx; 123 LONG cy; 124 } SIZEL; 125 typedef struct tagSIZEL *PSIZEL; 126 typedef struct tagSIZEL *LPSIZEL; 127 #endif 128 129 #ifndef _PALETTEENTRY_DEFINED 130 #define _PALETTEENTRY_DEFINED 131 132 typedef struct tagPALETTEENTRY { 133 BYTE peRed; 134 BYTE peGreen; 135 BYTE peBlue; 136 BYTE peFlags; 137 } PALETTEENTRY; 138 typedef struct tagPALETTEENTRY *PPALETTEENTRY; 139 typedef struct tagPALETTEENTRY *LPPALETTEENTRY; 140 #endif 141 142 #ifndef _LOGPALETTE_DEFINED 143 #define _LOGPALETTE_DEFINED 144 145 typedef struct tagLOGPALETTE { 146 WORD palVersion; 147 WORD palNumEntries; 148 PALETTEENTRY palPalEntry[1]; 149 } LOGPALETTE; 150 typedef struct tagLOGPALETTE *PLOGPALETTE; 151 typedef struct tagLOGPALETTE *LPLOGPALETTE; 152 #endif 153 154 #ifndef _WINDEF_ 155 typedef const RECTL *LPCRECTL; 156 typedef struct tagRECT { 157 LONG left; 158 LONG top; 159 LONG right; 160 LONG bottom; 161 } RECT; 162 typedef struct tagRECT *PRECT; 163 typedef struct tagRECT *LPRECT; 164 typedef const RECT *LPCRECT; 165 #endif 166 167 #if 0 168 typedef FMTID *REFFMTID; 169 #endif 170 171 #ifndef _ROTFLAGS_DEFINED 172 #define _ROTFLAGS_DEFINED 173 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1 174 #define ROTFLAGS_ALLOWANYCLIENT 0x2 175 #endif 176 177 #ifndef _ROT_COMPARE_MAX_DEFINED 178 #define _ROT_COMPARE_MAX_DEFINED 179 #define ROT_COMPARE_MAX 2048 180 #endif 181 182 typedef enum tagDVASPECT { 183 DVASPECT_CONTENT = 1, 184 DVASPECT_THUMBNAIL = 2, 185 DVASPECT_ICON = 4, 186 DVASPECT_DOCPRINT = 8 187 } DVASPECT; 188 189 typedef enum tagSTGC { 190 STGC_DEFAULT = 0, 191 STGC_OVERWRITE = 1, 192 STGC_ONLYIFCURRENT = 2, 193 STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, 194 STGC_CONSOLIDATE = 8 195 } STGC; 196 197 typedef enum tagSTGMOVE { 198 STGMOVE_MOVE = 0, 199 STGMOVE_COPY = 1, 200 STGMOVE_SHALLOWCOPY = 2 201 } STGMOVE; 202 203 typedef enum tagSTATFLAG { 204 STATFLAG_DEFAULT = 0, 205 STATFLAG_NONAME = 1, 206 STATFLAG_NOOPEN = 2 207 } STATFLAG; 208 typedef void *HCONTEXT; 209 210 #ifndef _LCID_DEFINED 211 #define _LCID_DEFINED 212 typedef DWORD LCID; 213 #endif 214 215 #ifndef _LANGID_DEFINED 216 #define _LANGID_DEFINED 217 typedef USHORT LANGID; 218 #endif 219 220 #define WDT_INPROC_CALL (0x48746457) 221 222 #define WDT_REMOTE_CALL (0x52746457) 223 224 #define WDT_INPROC64_CALL (0x50746457) 225 226 227 typedef struct _userCLIPFORMAT { 228 LONG fContext; 229 union { 230 DWORD dwValue; 231 wchar_t *pwszName; 232 } u; 233 } userCLIPFORMAT; 234 235 typedef userCLIPFORMAT *wireCLIPFORMAT; 236 typedef WORD CLIPFORMAT; 237 238 typedef struct _GDI_NONREMOTE { 239 LONG fContext; 240 union { 241 LONG hInproc; 242 DWORD_BLOB *hRemote; 243 } u; 244 } GDI_NONREMOTE; 245 246 typedef struct _userHGLOBAL { 247 LONG fContext; 248 union { 249 LONG hInproc; 250 FLAGGED_BYTE_BLOB *hRemote; 251 INT64 hInproc64; 252 } u; 253 } userHGLOBAL; 254 255 typedef userHGLOBAL *wireHGLOBAL; 256 257 typedef struct _userHMETAFILE { 258 LONG fContext; 259 union { 260 LONG hInproc; 261 BYTE_BLOB *hRemote; 262 INT64 hInproc64; 263 } u; 264 } userHMETAFILE; 265 266 typedef struct _remoteMETAFILEPICT { 267 LONG mm; 268 LONG xExt; 269 LONG yExt; 270 userHMETAFILE *hMF; 271 } remoteMETAFILEPICT; 272 273 typedef struct _userHMETAFILEPICT { 274 LONG fContext; 275 union { 276 LONG hInproc; 277 remoteMETAFILEPICT *hRemote; 278 INT64 hInproc64; 279 } u; 280 } userHMETAFILEPICT; 281 282 typedef struct _userHENHMETAFILE { 283 LONG fContext; 284 union { 285 LONG hInproc; 286 BYTE_BLOB *hRemote; 287 INT64 hInproc64; 288 } u; 289 } userHENHMETAFILE; 290 291 typedef struct _userBITMAP { 292 LONG bmType; 293 LONG bmWidth; 294 LONG bmHeight; 295 LONG bmWidthBytes; 296 WORD bmPlanes; 297 WORD bmBitsPixel; 298 ULONG cbSize; 299 byte pBuffer[1]; 300 } userBITMAP; 301 302 typedef struct _userHBITMAP { 303 LONG fContext; 304 union { 305 LONG hInproc; 306 userBITMAP *hRemote; 307 INT64 hInproc64; 308 } u; 309 } userHBITMAP; 310 311 typedef struct _userHPALETTE { 312 LONG fContext; 313 union { 314 LONG hInproc; 315 LOGPALETTE *hRemote; 316 INT64 hInproc64; 317 } u; 318 } userHPALETTE; 319 320 typedef struct _RemotableHandle { 321 LONG fContext; 322 union { 323 LONG hInproc; 324 LONG hRemote; 325 } u; 326 } RemotableHandle; 327 328 typedef RemotableHandle *wireHWND; 329 typedef RemotableHandle *wireHMENU; 330 typedef RemotableHandle *wireHACCEL; 331 typedef RemotableHandle *wireHBRUSH; 332 typedef RemotableHandle *wireHFONT; 333 typedef RemotableHandle *wireHDC; 334 typedef RemotableHandle *wireHICON; 335 typedef RemotableHandle *wireHRGN; 336 typedef RemotableHandle *wireHMONITOR; 337 338 #if 0 339 typedef void *HWND; 340 typedef void *HMENU; 341 typedef void *HACCEL; 342 typedef void *HBRUSH; 343 typedef void *HFONT; 344 typedef void *HDC; 345 typedef void *HICON; 346 typedef void *HRGN; 347 typedef void *HMONITOR; 348 349 #ifndef _HCURSOR_DEFINED 350 #define _HCURSOR_DEFINED 351 typedef HICON HCURSOR; 352 #endif 353 354 #endif 355 356 #ifndef _TEXTMETRIC_DEFINED 357 #define _TEXTMETRIC_DEFINED 358 359 typedef struct tagTEXTMETRICW { 360 LONG tmHeight; 361 LONG tmAscent; 362 LONG tmDescent; 363 LONG tmInternalLeading; 364 LONG tmExternalLeading; 365 LONG tmAveCharWidth; 366 LONG tmMaxCharWidth; 367 LONG tmWeight; 368 LONG tmOverhang; 369 LONG tmDigitizedAspectX; 370 LONG tmDigitizedAspectY; 371 WCHAR tmFirstChar; 372 WCHAR tmLastChar; 373 WCHAR tmDefaultChar; 374 WCHAR tmBreakChar; 375 BYTE tmItalic; 376 BYTE tmUnderlined; 377 BYTE tmStruckOut; 378 BYTE tmPitchAndFamily; 379 BYTE tmCharSet; 380 } TEXTMETRICW; 381 typedef struct tagTEXTMETRICW *PTEXTMETRICW; 382 typedef struct tagTEXTMETRICW *LPTEXTMETRICW; 383 #endif 384 385 #ifndef _WIN32 386 #ifndef WINAPI 387 typedef struct tagMSG { 388 HWND hwnd; 389 UINT message; 390 WPARAM wParam; 391 LPARAM lParam; 392 DWORD time; 393 POINT pt; 394 } MSG; 395 typedef struct tagMSG *PMSG; 396 typedef struct tagMSG *NPMSG; 397 typedef struct tagMSG *LPMSG; 398 #endif 399 #endif 400 401 typedef userHBITMAP *wireHBITMAP; 402 typedef userHPALETTE *wireHPALETTE; 403 typedef userHENHMETAFILE *wireHENHMETAFILE; 404 typedef userHMETAFILE *wireHMETAFILE; 405 typedef userHMETAFILEPICT *wireHMETAFILEPICT; 406 407 #if 0 408 typedef void *HGLOBAL; 409 typedef HGLOBAL HLOCAL; 410 typedef void *HBITMAP; 411 typedef void *HPALETTE; 412 typedef void *HENHMETAFILE; 413 typedef void *HMETAFILE; 414 #endif 415 416 typedef void *HMETAFILEPICT; 417 418 #endif /* __IWinTypes_INTERFACE_DEFINED__ */ 419 420 421 typedef double DATE; 422 423 #ifndef _tagCY_DEFINED 424 #define _tagCY_DEFINED 425 #define _CY_DEFINED 426 427 #if 0 428 typedef struct tagCY { 429 LONGLONG int64; 430 } CY; 431 #else 432 typedef union tagCY { 433 __C89_NAMELESS struct { 434 unsigned __LONG32 Lo; 435 __LONG32 Hi; 436 } DUMMYSTRUCTNAME; 437 LONGLONG int64; 438 } CY; 439 #endif 440 #endif 441 442 typedef CY *LPCY; 443 444 #if 0 445 typedef struct tagDEC { 446 USHORT wReserved; 447 BYTE scale; 448 BYTE sign; 449 ULONG Hi32; 450 ULONGLONG Lo64; 451 } DECIMAL; 452 #else 453 typedef struct tagDEC { 454 USHORT wReserved; 455 __C89_NAMELESS union { 456 __C89_NAMELESS struct { 457 BYTE scale; 458 BYTE sign; 459 } DUMMYSTRUCTNAME; 460 USHORT signscale; 461 } DUMMYUNIONNAME; 462 ULONG Hi32; 463 __C89_NAMELESS union { 464 __C89_NAMELESS struct { 465 ULONG Lo32; 466 ULONG Mid32; 467 } DUMMYSTRUCTNAME2; 468 ULONGLONG Lo64; 469 } DUMMYUNIONNAME2; 470 } DECIMAL; 471 472 #define DECIMAL_NEG ((BYTE)0x80) 473 #define DECIMAL_SETZERO(dec) { (dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0; } 474 #endif 475 476 typedef DECIMAL *LPDECIMAL; 477 478 typedef FLAGGED_WORD_BLOB *wireBSTR; 479 typedef OLECHAR *BSTR; 480 481 typedef BSTR *LPBSTR; 482 483 typedef short VARIANT_BOOL; 484 #if 0 485 typedef VARIANT_BOOL _VARIANT_BOOL; 486 #else 487 #define _VARIANT_BOOL /##/ 488 #endif 489 490 #ifndef _tagBSTRBLOB_DEFINED 491 #define _tagBSTRBLOB_DEFINED 492 493 typedef struct tagBSTRBLOB { 494 ULONG cbSize; 495 BYTE *pData; 496 } BSTRBLOB; 497 typedef struct tagBSTRBLOB *LPBSTRBLOB; 498 #endif 499 500 #define VARIANT_TRUE ((VARIANT_BOOL)-1) 501 #define VARIANT_FALSE ((VARIANT_BOOL)0) 502 503 typedef struct tagCLIPDATA { 504 ULONG cbSize; 505 LONG ulClipFmt; 506 BYTE *pClipData; 507 } CLIPDATA; 508 509 #define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt)) 510 511 typedef unsigned short VARTYPE; 512 513 enum VARENUM { 514 VT_EMPTY = 0, 515 VT_NULL = 1, 516 VT_I2 = 2, 517 VT_I4 = 3, 518 VT_R4 = 4, 519 VT_R8 = 5, 520 VT_CY = 6, 521 VT_DATE = 7, 522 VT_BSTR = 8, 523 VT_DISPATCH = 9, 524 VT_ERROR = 10, 525 VT_BOOL = 11, 526 VT_VARIANT = 12, 527 VT_UNKNOWN = 13, 528 VT_DECIMAL = 14, 529 VT_I1 = 16, 530 VT_UI1 = 17, 531 VT_UI2 = 18, 532 VT_UI4 = 19, 533 VT_I8 = 20, 534 VT_UI8 = 21, 535 VT_INT = 22, 536 VT_UINT = 23, 537 VT_VOID = 24, 538 VT_HRESULT = 25, 539 VT_PTR = 26, 540 VT_SAFEARRAY = 27, 541 VT_CARRAY = 28, 542 VT_USERDEFINED = 29, 543 VT_LPSTR = 30, 544 VT_LPWSTR = 31, 545 VT_RECORD = 36, 546 VT_INT_PTR = 37, 547 VT_UINT_PTR = 38, 548 VT_FILETIME = 64, 549 VT_BLOB = 65, 550 VT_STREAM = 66, 551 VT_STORAGE = 67, 552 VT_STREAMED_OBJECT = 68, 553 VT_STORED_OBJECT = 69, 554 VT_BLOB_OBJECT = 70, 555 VT_CF = 71, 556 VT_CLSID = 72, 557 VT_VERSIONED_STREAM = 73, 558 VT_BSTR_BLOB = 0xfff, 559 VT_VECTOR = 0x1000, 560 VT_ARRAY = 0x2000, 561 VT_BYREF = 0x4000, 562 VT_RESERVED = 0x8000, 563 VT_ILLEGAL = 0xffff, 564 VT_ILLEGALMASKED = 0xfff, 565 VT_TYPEMASK = 0xfff 566 }; 567 568 typedef ULONG PROPID; 569 570 #ifndef PROPERTYKEY_DEFINED 571 #define PROPERTYKEY_DEFINED 572 573 typedef struct _tagpropertykey { 574 GUID fmtid; 575 DWORD pid; 576 } PROPERTYKEY; 577 #endif 578 579 typedef struct tagCSPLATFORM { 580 DWORD dwPlatformId; 581 DWORD dwVersionHi; 582 DWORD dwVersionLo; 583 DWORD dwProcessorArch; 584 } CSPLATFORM; 585 586 typedef struct tagQUERYCONTEXT { 587 DWORD dwContext; 588 CSPLATFORM Platform; 589 LCID Locale; 590 DWORD dwVersionHi; 591 DWORD dwVersionLo; 592 } QUERYCONTEXT; 593 594 typedef enum tagTYSPEC { 595 TYSPEC_CLSID = 0, 596 TYSPEC_FILEEXT = 1, 597 TYSPEC_MIMETYPE = 2, 598 TYSPEC_FILENAME = 3, 599 TYSPEC_PROGID = 4, 600 TYSPEC_PACKAGENAME = 5, 601 TYSPEC_OBJECTID = 6 602 } TYSPEC; 603 604 typedef struct __WIDL_wtypes_generated_name_00000001 { 605 DWORD tyspec; 606 union { 607 CLSID clsid; 608 LPOLESTR pFileExt; 609 LPOLESTR pMimeType; 610 LPOLESTR pProgId; 611 LPOLESTR pFileName; 612 struct { 613 LPOLESTR pPackageName; 614 GUID PolicyId; 615 } ByName; 616 struct { 617 GUID ObjectId; 618 GUID PolicyId; 619 } ByObjectId; 620 } tagged_union; 621 } uCLSSPEC; 622 /* Begin additional prototypes for all interfaces */ 623 624 625 /* End additional prototypes */ 626 627 #ifdef __cplusplus 628 } 629 #endif 630 631 #endif /* __wtypes_h__ */ 632