Change the return value for ExtractIconEx from HICON to UINT and make
[wine] / include / wtypes.h
1 /*** Autogenerated by WIDL 0.1 from wtypes.idl - Do not edit ***/
2 #include "rpc.h"
3 #include "rpcndr.h"
4
5 #ifndef __WIDL_WTYPES_H
6 #define __WIDL_WTYPES_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include "basetsd.h"
11 #include "guiddef.h"
12 typedef CHAR OLECHAR16;
13 typedef LPSTR LPOLESTR16;
14 typedef LPCSTR LPCOLESTR16;
15 typedef OLECHAR16 *BSTR16;
16 typedef BSTR16 *LPBSTR16;
17 #define OLESTR16(x) x
18 #if 0 /* winnt.h */
19 typedef unsigned char BYTE;
20
21 typedef unsigned short WORD;
22
23 typedef unsigned long DWORD;
24
25 typedef long BOOL;
26
27 typedef unsigned char UCHAR;
28
29 typedef int INT;
30
31 typedef unsigned int UINT;
32
33 typedef short SHORT;
34
35 typedef unsigned short USHORT;
36
37 typedef long LONG;
38
39 typedef unsigned long ULONG;
40
41 typedef float FLOAT;
42
43 typedef double DOUBLE;
44
45 typedef void *PVOID, *LPVOID;
46
47 typedef char CHAR;
48
49 typedef CHAR *LPSTR;
50
51 typedef const CHAR *LPCSTR;
52
53 typedef wchar_t WCHAR;
54
55 typedef WCHAR *LPWSTR;
56
57 typedef const WCHAR *LPCWSTR;
58
59 typedef boolean BOOLEAN;
60
61 typedef void *HANDLE;
62
63 typedef void *HMODULE;
64
65 typedef void *HINSTANCE;
66
67 typedef void *HRGN;
68
69 typedef void *HTASK;
70
71 typedef void *HKEY;
72
73 typedef double DATE;
74
75 typedef LONG HRESULT;
76
77 typedef DWORD LCID;
78
79 typedef unsigned __int64 DWORDLONG;
80
81 typedef __int64 LONGLONG;
82
83 typedef unsigned __int64 ULONGLONG;
84
85 typedef struct _LARGE_INTEGER {
86     LONGLONG QuadPart;
87 } LARGE_INTEGER;
88
89 typedef struct _ULARGE_INTEGER {
90     ULONGLONG QuadPart;
91 } ULARGE_INTEGER;
92
93 typedef struct _SID_IDENTIFIER_AUTHORITY {
94     UCHAR Value[6];
95 } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
96
97 typedef struct _SID {
98     UCHAR Revision;
99     UCHAR SubAuthorityCount;
100     SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
101     ULONG SubAuthority[1];
102 } SID, *PSID;
103
104 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
105
106 typedef struct _ACL {
107     UCHAR AclRevision;
108     UCHAR Sbz1;
109     USHORT AclSize;
110     USHORT AceCount;
111     USHORT Sbz2;
112 } ACL;
113
114 typedef ACL *PACL;
115
116 typedef struct _SECURITY_DESCRIPTOR {
117     UCHAR Revision;
118     UCHAR Sbz1;
119     SECURITY_DESCRIPTOR_CONTROL Control;
120     PSID Owner;
121     PSID Group;
122     PACL Sacl;
123     PACL Dacl;
124 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
125
126 #endif /* winnt.h */
127 #ifndef _PALETTEENTRY_DEFINED
128 #define _PALETTEENTRY_DEFINED
129 typedef struct tagPALETTEENTRY {
130     BYTE peRed;
131     BYTE peGreen;
132     BYTE peBlue;
133     BYTE peFlags;
134 } PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY;
135
136 #endif
137 #ifndef _LOGPALETTE_DEFINED
138 #define _LOGPALETTE_DEFINED
139 typedef struct tagLOGPALETTE {
140     WORD palVersion;
141     WORD palNumEntries;
142     PALETTEENTRY palPalEntry[1];
143 } LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
144
145 #endif
146 #ifndef _FILETIME_
147 #define _FILETIME_
148 typedef struct _FILETIME {
149     DWORD dwLowDateTime;
150     DWORD dwHighDateTime;
151 } FILETIME, *PFILETIME, *LPFILETIME;
152
153 #endif
154 typedef WCHAR OLECHAR;
155
156 typedef OLECHAR *LPOLESTR;
157
158 typedef const OLECHAR *LPCOLESTR;
159
160 #ifndef __WINE__
161 #define OLESTR(str) WINE_UNICODE_TEXT(str)
162 #endif
163 typedef LONG SCODE;
164
165 typedef struct _COAUTHIDENTITY {
166     USHORT *User;
167     ULONG UserLength;
168     USHORT *Domain;
169     ULONG DomainLength;
170     USHORT *Password;
171     ULONG PasswordLength;
172     ULONG Flags;
173 } COAUTHIDENTITY;
174
175 typedef struct _COAUTHINFO {
176     DWORD dwAuthnSvc;
177     DWORD dwAuthzSvc;
178     LPWSTR pwszServerPrincName;
179     DWORD dwAuthnLevel;
180     DWORD dwImpersonationLevel;
181     COAUTHIDENTITY *pAuthIdentityData;
182     DWORD dwCapabilities;
183 } COAUTHINFO;
184
185 typedef struct _COSERVERINFO {
186     DWORD dwReserved1;
187     LPWSTR pwszName;
188     COAUTHINFO *pAuthInfo;
189     DWORD dwReserved2;
190 } COSERVERINFO;
191
192 #ifndef _ROTFLAGS_DEFINED
193 #define _ROTFLAGS_DEFINED
194 #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
195 #define ROTFLAGS_ALLOWANYCLIENT 0x2
196 #endif
197 typedef enum tagCLSCTX {
198     CLSCTX_INPROC_SERVER = 0x1,
199     CLSCTX_INPROC_HANDLER = 0x2,
200     CLSCTX_LOCAL_SERVER = 0x4,
201     CLSCTX_INPROC_SERVER16 = 0x8,
202     CLSCTX_REMOTE_SERVER = 0x10,
203     CLSCTX_INPROC_HANDLER16 = 0x20,
204     CLSCTX_INPROC_SERVERX86 = 0x40,
205     CLSCTX_INPROC_HANDLERX86 = 0x80,
206     CLSCTX_ESERVER_HANDLER = 0x100,
207     CLSCTX_NO_CODE_DOWNLOAD = 0x400,
208     CLSCTX_NO_CUSTOM_MARSHAL = 0x1000,
209     CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
210     CLSCTX_NO_FAILURE_LOG = 0x4000,
211     CLSCTX_DISABLE_AAA = 0x8000,
212     CLSCTX_ENABLE_AAA = 0x10000,
213     CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000
214 } CLSCTX;
215
216 #define CLSCTX_INPROC (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER)
217 #define CLSCTX_ALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
218 #define CLSCTX_SERVER (CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
219 typedef enum tagMSHLFLAGS {
220     MSHLFLAGS_NORMAL = 0,
221     MSHLFLAGS_TABLESTRONG = 1,
222     MSHLFLAGS_TABLEWEAK = 2,
223     MSHLFLAGS_NOPING = 4
224 } MSHLFLAGS;
225
226 typedef enum tagMSHCTX {
227     MSHCTX_LOCAL = 0,
228     MSHCTX_NOSHAREDMEM = 1,
229     MSHCTX_DIFFERENTMACHINE = 2,
230     MSHCTX_INPROC = 3,
231     MSHCTX_CROSSCTX = 4
232 } MSHCTX;
233
234 typedef struct _BYTE_BLOB {
235     unsigned long clSize;
236     byte abData[1];
237 } BYTE_BLOB;
238
239 typedef BYTE_BLOB *UP_BYTE_BLOB;
240
241 typedef struct _FLAGGED_BYTE_BLOB {
242     unsigned long fFlags;
243     unsigned long clSize;
244     byte abData[1];
245 } FLAGGED_BYTE_BLOB;
246
247 typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
248
249 typedef struct _FLAGGED_WORD_BLOB {
250     unsigned long fFlags;
251     unsigned long clSize;
252     unsigned short asData[1];
253 } FLAGGED_WORD_BLOB;
254
255 typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
256
257 typedef struct _BYTE_SIZEDARR {
258     unsigned long clSize;
259     byte *pData;
260 } BYTE_SIZEDARR;
261
262 typedef struct _SHORT_SIZEDARR {
263     unsigned long clSize;
264     unsigned short *pData;
265 } WORD_SIZEDARR;
266
267 typedef struct _LONG_SIZEDARR {
268     unsigned long clSize;
269     unsigned long *pData;
270 } DWORD_SIZEDARR;
271
272 typedef struct _HYPER_SIZEDARR {
273     unsigned long clSize;
274     hyper *pData;
275 } HYPER_SIZEDARR;
276
277 #define WDT_INPROC_CALL (0x48746457)
278
279 #define WDT_REMOTE_CALL (0x52746457)
280
281 typedef struct _userCLIPFORMAT {
282     long fContext;
283     union {
284         DWORD dwValue;
285         LPWSTR pwszName;
286     } u;
287 } userCLIPFORMAT;
288
289 typedef userCLIPFORMAT *wireCLIPFORMAT;
290
291 typedef WORD CLIPFORMAT;
292
293 typedef struct tagRemHGLOBAL {
294     long fNullHGlobal;
295     unsigned long cbData;
296     byte data[1];
297 } RemHGLOBAL;
298
299 typedef struct _userHGLOBAL {
300     long fContext;
301     union {
302         long hInproc;
303         FLAGGED_BYTE_BLOB *hRemote;
304         long hGlobal;
305     } u;
306 } userHGLOBAL;
307
308 typedef userHGLOBAL *wireHGLOBAL;
309
310 typedef struct tagRemHMETAFILEPICT {
311     long mm;
312     long xExt;
313     long yExt;
314     unsigned long cbData;
315     byte data[1];
316 } RemHMETAFILEPICT;
317
318 typedef struct _userHMETAFILE {
319     long fContext;
320     union {
321         long hInproc;
322         BYTE_BLOB *hRemote;
323         long hGlobal;
324     } u;
325 } userHMETAFILE;
326
327 typedef userHMETAFILE *wireHMETAFILE;
328
329 typedef struct _remoteMETAFILEPICT {
330     long mm;
331     long xExt;
332     long yExt;
333     userHMETAFILE *hMF;
334 } remoteMETAFILEPICT;
335
336 typedef struct _userHMETAFILEPICT {
337     long fContext;
338     union {
339         long hInproc;
340         remoteMETAFILEPICT *hRemote;
341         long hGlobal;
342     } u;
343 } userHMETAFILEPICT;
344
345 typedef userHMETAFILEPICT *wireHMETAFILEPICT;
346
347 typedef struct tagRemHENHMETAFILE {
348     unsigned long cbData;
349     byte data[1];
350 } RemHENHMETAFILE;
351
352 typedef struct _userHENHMETAFILE {
353     long fContext;
354     union {
355         long hInproc;
356         BYTE_BLOB *hRemote;
357         long hGlobal;
358     } u;
359 } userHENHMETAFILE;
360
361 typedef userHENHMETAFILE *wireHENHMETAFILE;
362
363 typedef struct tagRemHBITMAP {
364     unsigned long cbData;
365     byte data[1];
366 } RemHBITMAP;
367
368 typedef struct _userBITMAP {
369     LONG bmType;
370     LONG bmWidth;
371     LONG bmHeight;
372     LONG bmWidthBytes;
373     WORD bmPlanes;
374     WORD bmBitsPixel;
375     ULONG cbSize;
376     byte pBuffer[1];
377 } userBITMAP;
378
379 typedef struct _userHBITMAP {
380     long fContext;
381     union {
382         long hInproc;
383         userBITMAP *hRemote;
384         long hGlobal;
385     } u;
386 } userHBITMAP;
387
388 typedef userHBITMAP *wireHBITMAP;
389
390 typedef struct tagRemHPALETTE {
391     unsigned long cbData;
392     byte data[1];
393 } RemHPALETTE;
394
395 typedef struct tagrpcLOGPALETTE {
396     WORD palVersion;
397     WORD palNumEntries;
398     PALETTEENTRY palPalEntry[1];
399 } rpcLOGPALETTE;
400
401 typedef struct _userHPALETTE {
402     long fContext;
403     union {
404         long hInproc;
405         rpcLOGPALETTE *hRemote;
406         long hGlobal;
407     } u;
408 } userHPALETTE;
409
410 typedef userHPALETTE *wireHPALETTE;
411
412 #if 0
413 typedef void *HGLOBAL;
414
415 typedef HGLOBAL HLOCAL;
416
417 typedef void *HBITMAP;
418
419 typedef void *HPALETTE;
420
421 typedef void *HENHMETAFILE;
422
423 typedef void *HMETAFILE;
424
425 #endif
426 typedef void *HMETAFILEPICT;
427
428 #ifndef GUID_DEFINED
429 #define GUID_DEFINED
430 typedef struct _GUID {
431     DWORD Data1;
432     WORD Data2;
433     WORD Data3;
434     BYTE Data4[8];
435 } GUID;
436
437 #endif
438 #if 0 /* guiddef.h */
439 typedef GUID *LPGUID;
440
441 typedef GUID IID;
442
443 typedef IID *LPIID;
444
445 typedef GUID CLSID;
446
447 typedef CLSID *LPCLSID;
448
449 typedef GUID FMTID;
450
451 typedef FMTID *LPFMTID;
452
453 #if 0
454 typedef GUID *REFGUID;
455
456 typedef IID *REFIID;
457
458 typedef CLSID *REFCLSID;
459
460 typedef FMTID *REFFMTID;
461
462 #endif
463 #endif /* guiddef.h */
464 typedef enum tagDVASPECT {
465     DVASPECT_CONTENT = 1,
466     DVASPECT_THUMBNAIL = 2,
467     DVASPECT_ICON = 4,
468     DVASPECT_DOCPRINT = 8
469 } DVASPECT;
470
471 typedef enum tagSTGC {
472     STGC_DEFAULT = 0,
473     STGC_OVERWRITE = 1,
474     STGC_ONLYIFCURRENT = 2,
475     STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
476     STGC_CONSOLIDATE = 8
477 } STGC;
478
479 typedef enum tagSTGMOVE {
480     STGMOVE_MOVE = 0,
481     STGMOVE_COPY = 1,
482     STGMOVE_SHALLOWCOPY = 2
483 } STGMOVE;
484
485 #if 0
486 typedef struct tagCY {
487     LONGLONG int64;
488 } CY;
489
490 #else
491 typedef union tagCY {
492     struct {
493 #ifdef WORDS_BIGENDIAN
494         LONG  Hi;
495         ULONG Lo;
496 #else
497         ULONG Lo;
498         LONG  Hi;
499 #endif
500     } DUMMYSTRUCTNAME;
501     LONGLONG int64;
502 } CY;
503 #endif
504 typedef CY *LPCY;
505
506 typedef struct tagDEC {
507     USHORT wReserved;
508     BYTE scale;
509     BYTE sign;
510     ULONG Hi32;
511     ULONGLONG Lo64;
512 } DECIMAL;
513
514 typedef DECIMAL *LPDECIMAL;
515
516 typedef FLAGGED_WORD_BLOB *wireBSTR;
517
518 typedef OLECHAR *BSTR;
519
520 typedef BSTR *LPBSTR;
521
522 typedef short VARIANT_BOOL;
523
524 typedef VARIANT_BOOL _VARIANT_BOOL;
525
526 #define VARIANT_TRUE  ((VARIANT_BOOL)0xFFFF)
527 #define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
528 typedef struct tagBSTRBLOB {
529     ULONG cbSize;
530     BYTE *pData;
531 } BSTRBLOB, *LPBSTRBLOB;
532
533 typedef struct tagBLOB {
534     ULONG cbSize;
535     BYTE *pBlobData;
536 } BLOB, *LPBLOB;
537
538 typedef struct tagCLIPDATA {
539     ULONG cbSize;
540     long ulClipFmt;
541     BYTE *pClipData;
542 } CLIPDATA;
543
544 #define CBPCLIPDATA(cb) ((cb).cbSize - sizeof((cb).ulClipFmt))
545 typedef ULONG PROPID;
546
547 typedef unsigned short VARTYPE;
548
549 enum VARENUM {
550     VT_EMPTY = 0,
551     VT_NULL = 1,
552     VT_I2 = 2,
553     VT_I4 = 3,
554     VT_R4 = 4,
555     VT_R8 = 5,
556     VT_CY = 6,
557     VT_DATE = 7,
558     VT_BSTR = 8,
559     VT_DISPATCH = 9,
560     VT_ERROR = 10,
561     VT_BOOL = 11,
562     VT_VARIANT = 12,
563     VT_UNKNOWN = 13,
564     VT_DECIMAL = 14,
565     VT_I1 = 16,
566     VT_UI1 = 17,
567     VT_UI2 = 18,
568     VT_UI4 = 19,
569     VT_I8 = 20,
570     VT_UI8 = 21,
571     VT_INT = 22,
572     VT_UINT = 23,
573     VT_VOID = 24,
574     VT_HRESULT = 25,
575     VT_PTR = 26,
576     VT_SAFEARRAY = 27,
577     VT_CARRAY = 28,
578     VT_USERDEFINED = 29,
579     VT_LPSTR = 30,
580     VT_LPWSTR = 31,
581     VT_RECORD = 36,
582     VT_FILETIME = 64,
583     VT_BLOB = 65,
584     VT_STREAM = 66,
585     VT_STORAGE = 67,
586     VT_STREAMED_OBJECT = 68,
587     VT_STORED_OBJECT = 69,
588     VT_BLOB_OBJECT = 70,
589     VT_CF = 71,
590     VT_CLSID = 72,
591     VT_BSTR_BLOB = 0xfff,
592     VT_VECTOR = 0x1000,
593     VT_ARRAY = 0x2000,
594     VT_BYREF = 0x4000,
595     VT_RESERVED = 0x8000,
596     VT_ILLEGAL = 0xffff,
597     VT_ILLEGALMASKED = 0xfff,
598     VT_TYPEMASK = 0xfff
599 };
600
601 #ifdef __cplusplus
602 }
603 #endif
604 #endif /* __WIDL_WTYPES_H */