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