wtypes.h 12 KB

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