• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cpp_quote("/**")
2cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4cpp_quote(" */")
5cpp_quote("")
6
7import "basetsd.h";
8import "guiddef.h";
9
10cpp_quote("")
11[uuid (B1BEA154-1c2f-4da9-9abf-6e2d24eea1be), version (0.1), pointer_default (unique)]
12interface IWinTypesBase {
13cpp_quote("")
14  cpp_quote("#if 0")
15  typedef byte BYTE;
16  typedef unsigned short WORD;
17  typedef unsigned int UINT;
18  typedef int INT;
19  typedef long BOOL;
20  /*typedef long WINBOOL;*/
21  typedef long LONG;
22  typedef unsigned long DWORD;
23  typedef void *HANDLE;
24  typedef WORD *LPWORD;
25  typedef DWORD *LPDWORD;
26  typedef char CHAR;
27  typedef [string] CHAR *LPSTR;
28  typedef [string] const CHAR *LPCSTR;
29  typedef wchar_t WCHAR;
30  typedef WCHAR TCHAR;
31  typedef [string] WCHAR *LPWSTR;
32  typedef [string] TCHAR *LPTSTR;
33  typedef [string] const WCHAR *LPCWSTR;
34  typedef [string] const TCHAR *LPCTSTR;
35  typedef HANDLE *LPHANDLE;
36  cpp_quote("#endif")
37
38cpp_quote("")
39cpp_quote("#if !defined(OLE2ANSI)")
40  typedef WCHAR OLECHAR;
41  typedef [string] OLECHAR *LPOLESTR;
42  typedef [string] const OLECHAR *LPCOLESTR;
43cpp_quote("")
44  cpp_quote("#define OLESTR(str) L##str")
45cpp_quote("#else")
46  cpp_quote("typedef char OLECHAR;")
47  cpp_quote("typedef LPSTR LPOLESTR;")
48  cpp_quote("typedef LPCSTR LPCOLESTR;")
49cpp_quote("")
50  cpp_quote("#define OLESTR(str) str")
51cpp_quote("#endif")
52
53cpp_quote("")
54  cpp_quote("#ifndef _WINDEF_")
55  cpp_quote("#ifndef _MINWINDEF_")
56  typedef void *PVOID, *LPVOID;
57  typedef float FLOAT;
58  cpp_quote("#endif")
59  cpp_quote("#endif")
60
61cpp_quote("")
62  typedef unsigned char UCHAR;
63  typedef short SHORT;
64  typedef unsigned short USHORT;
65  typedef DWORD ULONG;
66  typedef double DOUBLE;
67  cpp_quote("#ifndef _DWORDLONG_")
68  typedef unsigned __int64 DWORDLONG;
69  typedef DWORDLONG *PDWORDLONG;
70  cpp_quote("#endif")
71
72cpp_quote("")
73  cpp_quote("#ifndef _ULONGLONG_")
74  typedef __int64 LONGLONG;
75  typedef unsigned __int64 ULONGLONG;
76  typedef LONGLONG *PLONGLONG;
77  typedef ULONGLONG *PULONGLONG;
78  cpp_quote("#endif")
79
80  cpp_quote("#if 0")
81  typedef struct _LARGE_INTEGER {
82    LONGLONG QuadPart;
83  } LARGE_INTEGER;
84  typedef LARGE_INTEGER *PLARGE_INTEGER;
85  typedef struct _ULARGE_INTEGER {
86    ULONGLONG QuadPart;
87  } ULARGE_INTEGER;
88  cpp_quote("#endif")
89
90cpp_quote("")
91  cpp_quote("#ifndef _WINBASE_")
92  cpp_quote("#ifndef _FILETIME_")
93  cpp_quote("#define _FILETIME_")
94cpp_quote("")
95  typedef struct _FILETIME {
96    DWORD dwLowDateTime;
97    DWORD dwHighDateTime;
98  } FILETIME,*PFILETIME,*LPFILETIME;
99  cpp_quote("#endif")
100
101cpp_quote("")
102  cpp_quote("#ifndef _SYSTEMTIME_")
103  cpp_quote("#define _SYSTEMTIME_")
104cpp_quote("")
105  typedef struct _SYSTEMTIME {
106    WORD wYear;
107    WORD wMonth;
108    WORD wDayOfWeek;
109    WORD wDay;
110    WORD wHour;
111    WORD wMinute;
112    WORD wSecond;
113    WORD wMilliseconds;
114  } SYSTEMTIME,*PSYSTEMTIME,*LPSYSTEMTIME;
115  cpp_quote("#endif")
116
117cpp_quote("")
118  cpp_quote("#ifndef _SECURITY_ATTRIBUTES_")
119  cpp_quote("#define _SECURITY_ATTRIBUTES_")
120cpp_quote("")
121  typedef struct _SECURITY_ATTRIBUTES {
122    DWORD nLength;
123    LPVOID lpSecurityDescriptor;
124    BOOL bInheritHandle;
125  } SECURITY_ATTRIBUTES,*PSECURITY_ATTRIBUTES,*LPSECURITY_ATTRIBUTES;
126  cpp_quote("#endif")
127
128cpp_quote("")
129  cpp_quote("#ifndef SECURITY_DESCRIPTOR_REVISION")
130  typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
131  typedef PVOID PSID;
132cpp_quote("")
133  typedef struct _ACL {
134    UCHAR AclRevision;
135    UCHAR Sbz1;
136    USHORT AclSize;
137    USHORT AceCount;
138    USHORT Sbz2;
139  } ACL;
140cpp_quote("")
141  typedef ACL *PACL;
142cpp_quote("")
143  typedef struct _SECURITY_DESCRIPTOR {
144    UCHAR Revision;
145    UCHAR Sbz1;
146    SECURITY_DESCRIPTOR_CONTROL Control;
147    PSID Owner;
148    PSID Group;
149    PACL Sacl;
150    PACL Dacl;
151  } SECURITY_DESCRIPTOR,*PISECURITY_DESCRIPTOR;
152  cpp_quote("#endif")
153  cpp_quote("#endif")
154
155cpp_quote("")
156  typedef struct _COAUTHIDENTITY {
157    [size_is (UserLength+1)] USHORT *User;
158    [range (0, 256)]ULONG UserLength;
159    [size_is (DomainLength+1)] USHORT *Domain;
160    [range (0, 256)]ULONG DomainLength;
161    [size_is (PasswordLength+1)] USHORT *Password;
162    [range (0, 256)]ULONG PasswordLength;
163    ULONG Flags;
164  } COAUTHIDENTITY;
165
166cpp_quote("")
167  typedef struct _COAUTHINFO {
168    DWORD dwAuthnSvc;
169    DWORD dwAuthzSvc;
170    LPWSTR pwszServerPrincName;
171    DWORD dwAuthnLevel;
172    DWORD dwImpersonationLevel;
173    COAUTHIDENTITY *pAuthIdentityData;
174    DWORD dwCapabilities;
175  } COAUTHINFO;
176
177cpp_quote("")
178  typedef LONG SCODE;
179  typedef SCODE *PSCODE;
180cpp_quote("")
181  cpp_quote("#ifndef _HRESULT_DEFINED")
182  cpp_quote("#define _HRESULT_DEFINED")
183#if defined (_STRICT_HRESULT)
184  typedef struct _HRESULT_STRUCT {
185    DWORD Data1;
186  } HRESULT_STRUCT,*PHRESULT_STRUCT;
187  typedef PHRESULT_STRUCT HRESULT;
188#else
189  cpp_quote("#ifdef __WIDL__")
190  typedef LONG HRESULT;
191  cpp_quote("#else")
192  cpp_quote("typedef __LONG32 HRESULT;")
193  cpp_quote("#endif")
194#endif
195  cpp_quote("#endif")
196
197  cpp_quote("")
198  cpp_quote("#ifndef __OBJECTID_DEFINED")
199  cpp_quote("#define __OBJECTID_DEFINED")
200  cpp_quote("#define _OBJECTID_DEFINED")
201cpp_quote("")
202  typedef struct _OBJECTID {
203    GUID Lineage;
204    unsigned long Uniquifier;
205  } OBJECTID;
206  cpp_quote("#endif")
207
208cpp_quote("")
209  cpp_quote("#if 0")
210  typedef GUID *REFGUID;
211  typedef IID *REFIID;
212  typedef CLSID *REFCLSID;
213  cpp_quote("#endif")
214
215cpp_quote("")
216  typedef enum tagMEMCTX {
217    MEMCTX_TASK = 1,
218    MEMCTX_SHARED = 2,
219    MEMCTX_MACSYSTEM = 3,
220    MEMCTX_UNKNOWN = -1,
221    MEMCTX_SAME = -2,
222  } MEMCTX;
223  cpp_quote("#ifndef _ROTREGFLAGS_DEFINED")
224  cpp_quote("#define _ROTREGFLAGS_DEFINED")
225cpp_quote("")
226  cpp_quote("#define ROTREGFLAGS_ALLOWANYCLIENT 0x1")
227  cpp_quote("#endif")
228
229cpp_quote("")
230  cpp_quote("#ifndef _APPIDREGFLAGS_DEFINED")
231  cpp_quote("#define _APPIDREGFLAGS_DEFINED")
232cpp_quote("")
233  cpp_quote("#define APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP 0x1")
234  cpp_quote("#define APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND 0x2")
235  cpp_quote("#define APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY 0x4")
236  cpp_quote("#define APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN 0x8")
237  cpp_quote("#define APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION 0x10")
238  cpp_quote("#define APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY 0x20")
239  cpp_quote("#define APPIDREGFLAGS_RESERVED1 0x40")
240  cpp_quote("#endif")
241
242cpp_quote("")
243  cpp_quote("#ifndef _DCOMSCM_REMOTECALL_FLAGS_DEFINED")
244  cpp_quote("#define _DCOMSCM_REMOTECALL_FLAGS_DEFINED")
245cpp_quote("")
246  cpp_quote("#define DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES 0x1")
247  cpp_quote("#define DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL 0x2")
248  cpp_quote("#define DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES 0x4")
249  cpp_quote("#define DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL 0x8")
250  cpp_quote("#define DCOMSCM_PING_USE_MID_AUTHNSERVICE 0x10")
251  cpp_quote("#define DCOMSCM_PING_DISALLOW_UNSECURE_CALL 0x20")
252  cpp_quote("#endif")
253
254cpp_quote("")
255  typedef enum tagCLSCTX {
256    CLSCTX_INPROC_SERVER = 0x01,
257    CLSCTX_INPROC_HANDLER = 0x02,
258    CLSCTX_LOCAL_SERVER = 0x04,
259    CLSCTX_INPROC_SERVER16 = 0x08,
260    CLSCTX_REMOTE_SERVER = 0x10,
261    CLSCTX_INPROC_HANDLER16 = 0x20,
262    CLSCTX_RESERVED1 = 0x40,
263    CLSCTX_RESERVED2 = 0x80,
264    CLSCTX_RESERVED3 = 0x100,
265    CLSCTX_RESERVED4 = 0x200,
266    CLSCTX_NO_CODE_DOWNLOAD = 0x400,
267    CLSCTX_RESERVED5 = 0x800,
268    CLSCTX_NO_CUSTOM_MARSHAL = 0x1000,
269    CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
270    CLSCTX_NO_FAILURE_LOG = 0x4000,
271    CLSCTX_DISABLE_AAA = 0x8000,
272    CLSCTX_ENABLE_AAA = 0x10000,
273    CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000,
274    CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000,
275    CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000,
276    CLSCTX_ENABLE_CLOAKING = 0x100000,
277    CLSCTX_APPCONTAINER = 0x400000,
278    CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000,
279    CLSCTX_PS_DLL = (int) 0x80000000,
280  } CLSCTX;
281cpp_quote("")
282  cpp_quote("#define CLSCTX_VALID_MASK (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER16 | CLSCTX_REMOTE_SERVER | CLSCTX_NO_CODE_DOWNLOAD | CLSCTX_NO_CUSTOM_MARSHAL | CLSCTX_ENABLE_CODE_DOWNLOAD | CLSCTX_NO_FAILURE_LOG | CLSCTX_DISABLE_AAA | CLSCTX_ENABLE_AAA | CLSCTX_FROM_DEFAULT_CONTEXT | CLSCTX_ACTIVATE_32_BIT_SERVER | CLSCTX_ACTIVATE_64_BIT_SERVER | CLSCTX_ENABLE_CLOAKING | CLSCTX_APPCONTAINER | CLSCTX_ACTIVATE_AAA_AS_IU | CLSCTX_PS_DLL)")
283
284cpp_quote("")
285  typedef enum tagMSHLFLAGS {
286    MSHLFLAGS_NORMAL = 0,
287    MSHLFLAGS_TABLESTRONG = 1,
288    MSHLFLAGS_TABLEWEAK = 2,
289    MSHLFLAGS_NOPING = 4,
290    MSHLFLAGS_RESERVED1 = 8,
291    MSHLFLAGS_RESERVED2 = 16,
292    MSHLFLAGS_RESERVED3 = 32,
293    MSHLFLAGS_RESERVED4 = 64
294  } MSHLFLAGS;
295
296cpp_quote("")
297  typedef enum tagMSHCTX {
298    MSHCTX_LOCAL = 0,
299    MSHCTX_NOSHAREDMEM = 1,
300    MSHCTX_DIFFERENTMACHINE = 2,
301    MSHCTX_INPROC = 3,
302    MSHCTX_CROSSCTX = 4
303  } MSHCTX;
304
305cpp_quote("")
306  typedef struct _BYTE_BLOB {
307    unsigned long clSize;
308    [size_is (clSize)] byte abData[];
309  } BYTE_BLOB;
310
311cpp_quote("")
312  typedef [unique] BYTE_BLOB *UP_BYTE_BLOB;
313
314cpp_quote("")
315  typedef struct _WORD_BLOB {
316    unsigned long clSize;
317    [size_is (clSize)] unsigned short asData[];
318  } WORD_BLOB;
319
320cpp_quote("")
321  typedef [unique] WORD_BLOB *UP_WORD_BLOB;
322
323cpp_quote("")
324  typedef struct _DWORD_BLOB {
325    unsigned long clSize;
326    [size_is (clSize)] unsigned long alData[];
327  } DWORD_BLOB;
328
329cpp_quote("")
330  typedef [unique] DWORD_BLOB *UP_DWORD_BLOB;
331
332cpp_quote("")
333  typedef struct _FLAGGED_BYTE_BLOB {
334    unsigned long fFlags;
335    unsigned long clSize;
336    [size_is (clSize)] byte abData[];
337  } FLAGGED_BYTE_BLOB;
338
339cpp_quote("")
340  typedef [unique] FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
341
342cpp_quote("")
343  typedef struct _FLAGGED_WORD_BLOB {
344    unsigned long fFlags;
345    unsigned long clSize;
346    [size_is (clSize)] unsigned short asData[];
347  } FLAGGED_WORD_BLOB;
348
349cpp_quote("")
350  typedef [unique] FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
351
352cpp_quote("")
353  typedef struct _BYTE_SIZEDARR {
354    unsigned long clSize;
355    [size_is (clSize)] byte *pData;
356  } BYTE_SIZEDARR;
357
358cpp_quote("")
359  typedef struct _SHORT_SIZEDARR {
360    unsigned long clSize;
361    [size_is (clSize)] unsigned short *pData;
362  } WORD_SIZEDARR;
363
364cpp_quote("")
365  typedef struct _LONG_SIZEDARR {
366    unsigned long clSize;
367    [size_is (clSize)] unsigned long *pData;
368  } DWORD_SIZEDARR;
369
370cpp_quote("")
371  typedef struct _HYPER_SIZEDARR {
372    unsigned long clSize;
373    [size_is (clSize)] hyper *pData;
374  } HYPER_SIZEDARR;
375}
376
377cpp_quote("")
378typedef boolean BOOLEAN;
379cpp_quote("#ifndef _tagBLOB_DEFINED")
380cpp_quote("#define _tagBLOB_DEFINED")
381cpp_quote("#define _BLOB_DEFINED")
382cpp_quote("#define _LPBLOB_DEFINED")
383cpp_quote("")
384typedef struct tagBLOB {
385  ULONG cbSize;
386  [size_is (cbSize)] BYTE *pBlobData;
387} BLOB,*LPBLOB;
388cpp_quote("#endif")
389
390cpp_quote("")
391cpp_quote("#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED")
392cpp_quote("#define SID_IDENTIFIER_AUTHORITY_DEFINED")
393typedef struct _SID_IDENTIFIER_AUTHORITY {
394  UCHAR Value[6];
395} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
396cpp_quote("#endif")
397
398cpp_quote("")
399cpp_quote("#ifndef SID_DEFINED")
400cpp_quote("#define SID_DEFINED")
401cpp_quote("")
402typedef struct _SID {
403  BYTE Revision;
404  BYTE SubAuthorityCount;
405  SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
406  [size_is (SubAuthorityCount)] ULONG SubAuthority[*];
407} SID,*PISID;
408
409cpp_quote("")
410typedef struct _SID_AND_ATTRIBUTES {
411  SID *Sid;
412  DWORD Attributes;
413} SID_AND_ATTRIBUTES,*PSID_AND_ATTRIBUTES;
414cpp_quote("#endif")
415