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