1 /** 2 * This file is part of the mingw-w64 runtime package. 3 * No warranty is given; refer to the file DISCLAIMER within this package. 4 */ 5 #ifndef __CORHDR_H__ 6 #define __CORHDR_H__ 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 typedef enum CorTypeAttr { 13 tdVisibilityMask = 0x7, 14 tdNotPublic = 0x0, 15 tdPublic = 0x1, 16 tdNestedPublic = 0x2, 17 tdNestedPrivate = 0x3, 18 tdNestedFamily = 0x4, 19 tdNestedAssembly = 0x5, 20 tdNestedFamANDAssem = 0x6, 21 tdNestedFamORAssem = 0x7, 22 tdLayoutMask = 0x18, 23 tdAutoLayout = 0x0, 24 tdSequentialLayout = 0x8, 25 tdExplicitLayout = 0x10, 26 tdClassSemanticsMask = 0x20, 27 tdClass = 0x0, 28 tdInterface = 0x20, 29 tdAbstract = 0x80, 30 tdSealed = 0x100, 31 tdSpecialName = 0x400, 32 tdImport = 0x1000, 33 tdSerializable = 0x2000, 34 tdWindowsRuntime = 0x4000, 35 tdStringFormatMask = 0x30000, 36 tdAnsiClass = 0x0, 37 tdUnicodeClass = 0x10000, 38 tdAutoClass = 0x20000, 39 tdCustomFormatClass = 0x30000, 40 tdCustomFormatMask = 0xc00000, 41 tdBeforeFieldInit = 0x100000, 42 tdForwarder = 0x200000, 43 tdReservedMask = 0x40800, 44 tdRTSpecialName = 0x800, 45 tdHasSecurity = 0x40000, 46 } CorTypeAttr; 47 48 typedef enum CorMethodAttr { 49 mdMemberAccessMask = 0x0007, 50 mdPrivateScope = 0x0, 51 mdPrivate = 0x1, 52 mdFamANDAssem = 0x2, 53 mdAssem = 0x3, 54 mdFamily = 0x4, 55 mdFamORAssem = 0x5, 56 mdPublic = 0x6, 57 mdUnmanagedExport = 0x8, 58 mdStatic = 0x10, 59 mdFinal = 0x20, 60 mdVirtual = 0x40, 61 mdHideBySig = 0x80, 62 mdVtableLayoutMask = 0x100, 63 mdReuseSlot = 0x0, 64 mdNewSlot = 0x100, 65 mdCheckAccessOnOverride = 0x200, 66 mdAbstract = 0x400, 67 mdSpecialName = 0x800, 68 mdPinvokeImpl = 0x2000, 69 mdReservedMask = 0xd000, 70 mdRTSpecialName = 0x1000, 71 mdHasSecurity = 0x4000, 72 mdRequireSecObject = 0x8000 73 } CorMethodAttr; 74 75 #ifndef __IMAGE_COR20_HEADER_DEFINED__ 76 #define __IMAGE_COR20_HEADER_DEFINED__ 77 typedef enum ReplacesCorHdrNumericDefines { 78 COMIMAGE_FLAGS_ILONLY = 0x1, 79 COMIMAGE_FLAGS_32BITREQUIRED = 0x2, 80 COMIMAGE_FLAGS_IL_LIBRARY = 0x4, 81 COMIMAGE_FLAGS_STRONGNAMESIGNED = 0x8, 82 COMIMAGE_FLAGS_NATIVE_ENTRYPOINT = 0x10, 83 COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x10000, 84 COMIMAGE_FLAGS_32BITPREFERRED = 0x20000, 85 COR_VERSION_MAJOR_V2 = 2, 86 COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, 87 COR_VERSION_MINOR = 5, 88 COR_DELETED_NAME_LENGTH = 8, 89 COR_VTABLEGAP_NAME_LENGTH = 8, 90 NATIVE_TYPE_MAX_CB = 1, 91 COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 0xff, 92 COR_VTABLE_32BIT = 0x1, 93 COR_VTABLE_64BIT = 0x2, 94 COR_VTABLE_FROM_UNMANAGED = 0x4, 95 COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN = 0x8, 96 COR_VTABLE_CALL_MOST_DERIVED = 0x10, 97 MAX_CLASS_NAME = 1024, 98 MAX_PACKAGE_NAME = 1024 99 } ReplacesCorHdrNumericDefines; 100 101 typedef struct IMAGE_COR20_HEADER { 102 DWORD cb; 103 WORD MajorRuntimeVersion; 104 WORD MinorRuntimeVersion; 105 IMAGE_DATA_DIRECTORY MetaData; 106 DWORD Flags; 107 __C89_NAMELESS union { 108 DWORD EntryPointToken; 109 DWORD EntryPointRVA; 110 }; 111 IMAGE_DATA_DIRECTORY Resources; 112 IMAGE_DATA_DIRECTORY StrongNameSignature; 113 IMAGE_DATA_DIRECTORY CodeManagerTable; 114 IMAGE_DATA_DIRECTORY VTableFixups; 115 IMAGE_DATA_DIRECTORY ExportAddressTableJumps; 116 IMAGE_DATA_DIRECTORY ManagedNativeHeader; 117 } IMAGE_COR20_HEADER,*PIMAGE_COR20_HEADER; 118 #else 119 #define COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN 0x8 120 #define COMIMAGE_FLAGS_32BITPREFERRED 0x20000 121 #endif 122 123 typedef enum CorFieldAttr { 124 fdFieldAccessMask = 0x0007, 125 fdPrivateScope = 0x0000, 126 fdPrivate = 0x0001, 127 fdFamANDAssem = 0x0002, 128 fdAssembly = 0x0003, 129 fdFamily = 0x0004, 130 fdFamORAssem = 0x0005, 131 fdPublic = 0x0006, 132 133 fdStatic = 0x0010, 134 fdInitOnly = 0x0020, 135 fdLiteral = 0x0040, 136 fdNotSerialized = 0x0080, 137 fdHasFieldRVA = 0x0100, 138 fdSpecialName = 0x0200, 139 fdRTSpecialName = 0x0400, 140 fdHasFieldMarshal = 0x1000, 141 fdPinvokeImpl = 0x2000, 142 fdHasDefault = 0x8000, 143 fdReservedMask = 0x9500 144 } CorFieldAttr; 145 146 typedef enum CorParamAttr { 147 pdIn = 0x1, 148 pdOut = 0x2, 149 pdOptional = 0x10, 150 pdReservedMask = 0xf000, 151 pdHasDefault = 0x1000, 152 pdHasFieldMarshal = 0x2000, 153 pdUnused = 0xcfe0 154 } CorParamAttr; 155 156 typedef enum CorPropertyAttr { 157 prReservedMask = 0xf400, 158 prSpecialName = 0x0200, 159 prRTSpecialName = 0x0400, 160 prHasDefault = 0x1000, 161 prUnused = 0xe9ff 162 } CorPropertyAttr; 163 164 typedef enum CorEventAttr { 165 evSpecialName = 0x0200, 166 evReservedMask = 0x0400, 167 evRTSpecialName = 0x0400, 168 } CorEventAttr; 169 170 typedef enum CorMethodSemanticsAttr { 171 msSetter = 0x1, 172 msGetter = 0x2, 173 msOther = 0x4, 174 msAddOn = 0x8, 175 msRemoveOn = 0x10, 176 msFire = 0x20 177 } CorMethodSemanticsAttr; 178 179 typedef enum CorDeclSecurity { 180 dclActionMask = 0x001f, 181 dclActionNil = 0x0000, 182 dclRequest = 0x0001, 183 dclDemand = 0x0002, 184 dclAssert = 0x0003, 185 dclDeny = 0x0004, 186 dclPermitOnly = 0x0005, 187 dclLinktimeCheck = 0x0006, 188 dclInheritanceCheck = 0x0007, 189 dclRequestMinimum = 0x0008, 190 dclRequestOptional = 0x0009, 191 dclRequestRefuse = 0x000a, 192 dclPrejitGrant = 0x000b, 193 dclPrejitDenied = 0x000c, 194 dclNonCasDemand = 0x000d, 195 dclNonCasLinkDemand = 0x000e, 196 dclNonCasInheritance = 0x000f, 197 dclMaximumValue = 0x000f 198 } CorDeclSecurity; 199 200 typedef enum CorMethodImpl { 201 miCodeTypeMask = 0x0003, 202 miIL = 0x0000, 203 miNative = 0x0001, 204 miOPTIL = 0x0002, 205 miRuntime = 0x0003, 206 miManagedMask = 0x0004, 207 miUnmanaged = 0x0004, 208 miManaged = 0x0, 209 miNoInlining = 0x0008, 210 miForwardRef = 0x0010, 211 miSynchronized = 0x0020, 212 miNoOptimization = 0x0040, 213 miPreserveSig = 0x0080, 214 miAggressiveInlining = 0x0100, 215 miInternalCall = 0x1000, 216 miUserMask = miManagedMask | miForwardRef | miPreserveSig | miInternalCall | miSynchronized | miNoInlining | miAggressiveInlining | miNoOptimization, 217 miMaxMethodImplVal = 0xffff 218 } CorMethodImpl; 219 220 typedef enum CorPinvokeMap { 221 pmNoMangle = 0x0001, 222 pmCharSetMask = 0x0006, 223 pmCharSetNotSpec = 0x0, 224 pmCharSetAnsi = 0x0002, 225 pmCharSetUnicode = 0x0004, 226 pmCharSetAuto = 0x0006, 227 pmBestFitMask = 0x0030, 228 pmBestFitUseAssem = 0x0, 229 pmBestFitEnabled = 0x0010, 230 pmBestFitDisabled = 0x0020, 231 pmSupportsLastError = 0x0040, 232 pmCallConvMask = 0x0700, 233 pmCallConvWinapi = 0x0100, 234 pmCallConvCdecl = 0x0200, 235 pmCallConvStdcall = 0x0300, 236 pmCallConvThiscall = 0x0400, 237 pmCallConvFastcall = 0x0500, 238 pmThrowOnUnmappableCharMask = 0x3000, 239 pmThrowOnUnmappableCharUseAssem = 0x0, 240 pmThrowOnUnmappableCharEnabled = 0x1000, 241 pmThrowOnUnmappableCharDisabled = 0x2000, 242 pmMaxValue = 0xffff 243 } CorPinvokeMap; 244 245 typedef enum CorAssemblyFlags { 246 afPublicKey = 0x0001, 247 afPA_Mask = 0x0070, 248 afPA_FullMask = 0x00f0, 249 afPA_None = 0x0, 250 afPA_MSIL = 0x0010, 251 afPA_x86 = 0x0020, 252 afPA_IA64 = 0x0030, 253 afPA_AMD64 = 0x0040, 254 afPA_ARM = 0x0050, 255 afPA_NoPlatform = 0x0070, 256 afPA_Specified = 0x0080, 257 afPA_Shift = 0x0004, 258 afRetargetable = 0x0100, 259 afContentType_Mask = 0x0e00, 260 afContentType_Default = 0x0, 261 afContentType_WindowsRuntime = 0x0200, 262 afEnableJITcompileTracking = 0x8000, 263 afDisableJITcompileOptimizer = 0x4000 264 } CorAssemblyFlags; 265 266 typedef enum CorManifestResourceFlags { 267 mrVisibilityMask = 0x0007, 268 mrPublic = 0x0001, 269 mrPrivate = 0x0002, 270 } CorManifestResourceFlags; 271 272 typedef enum CorFileFlags { 273 ffContainsMetaData = 0x0000, 274 ffContainsNoMetaData = 0x0001, 275 } CorFileFlags; 276 277 typedef enum CorPEKind { 278 peNot = 0x00000000, 279 peILonly = 0x00000001, 280 pe32BitRequired=0x00000002, 281 pe32Plus = 0x00000004, 282 pe32Unmanaged=0x00000008, 283 pe32BitPreferred=0x00000010 284 } CorPEKind; 285 286 typedef enum CorGenericParamAttr { 287 gpVarianceMask = 0x0003, 288 gpNonVariant = 0x0000, 289 gpCovariant = 0x0001, 290 gpContravariant = 0x0002, 291 gpSpecialConstraintMask = 0x001c, 292 gpNoSpecialConstraint = 0x0000, 293 gpReferenceTypeConstraint = 0x0004, 294 gpNotNullableValueTypeConstraint = 0x0008, 295 gpDefaultConstructorConstraint = 0x0010 296 } CorGenericParamAttr; 297 298 typedef enum CorElementType { 299 ELEMENT_TYPE_END = 0x00, 300 ELEMENT_TYPE_VOID = 0x01, 301 ELEMENT_TYPE_BOOLEAN = 0x02, 302 ELEMENT_TYPE_CHAR = 0x03, 303 ELEMENT_TYPE_I1 = 0x04, 304 ELEMENT_TYPE_U1 = 0x05, 305 ELEMENT_TYPE_I2 = 0x06, 306 ELEMENT_TYPE_U2 = 0x07, 307 ELEMENT_TYPE_I4 = 0x08, 308 ELEMENT_TYPE_U4 = 0x09, 309 ELEMENT_TYPE_I8 = 0x0a, 310 ELEMENT_TYPE_U8 = 0x0b, 311 ELEMENT_TYPE_R4 = 0x0c, 312 ELEMENT_TYPE_R8 = 0x0d, 313 ELEMENT_TYPE_STRING = 0x0e, 314 ELEMENT_TYPE_PTR = 0x0f, 315 ELEMENT_TYPE_BYREF = 0x10, 316 ELEMENT_TYPE_VALUETYPE = 0x11, 317 ELEMENT_TYPE_CLASS = 0x12, 318 ELEMENT_TYPE_VAR = 0x13, 319 ELEMENT_TYPE_ARRAY = 0x14, 320 ELEMENT_TYPE_GENERICINST = 0x15, 321 ELEMENT_TYPE_TYPEDBYREF = 0x16, 322 ELEMENT_TYPE_I = 0x18, 323 ELEMENT_TYPE_U = 0x19, 324 ELEMENT_TYPE_FNPTR = 0x1b, 325 ELEMENT_TYPE_OBJECT = 0x1c, 326 ELEMENT_TYPE_SZARRAY = 0x1d, 327 ELEMENT_TYPE_MVAR = 0x1e, 328 ELEMENT_TYPE_CMOD_REQD = 0x1f, 329 ELEMENT_TYPE_CMOD_OPT = 0x20, 330 ELEMENT_TYPE_INTERNAL = 0x21, 331 ELEMENT_TYPE_MAX = 0x22, 332 ELEMENT_TYPE_MODIFIER = 0x40, 333 ELEMENT_TYPE_SENTINEL = 0x01 | ELEMENT_TYPE_MODIFIER, 334 ELEMENT_TYPE_PINNED = 0x05 | ELEMENT_TYPE_MODIFIER, 335 } CorElementType; 336 337 typedef enum CorSerializationType { 338 SERIALIZATION_TYPE_UNDEFINED = 0, 339 SERIALIZATION_TYPE_BOOLEAN = ELEMENT_TYPE_BOOLEAN, 340 SERIALIZATION_TYPE_CHAR = ELEMENT_TYPE_CHAR, 341 SERIALIZATION_TYPE_I1 = ELEMENT_TYPE_I1, 342 SERIALIZATION_TYPE_U1 = ELEMENT_TYPE_U1, 343 SERIALIZATION_TYPE_I2 = ELEMENT_TYPE_I2, 344 SERIALIZATION_TYPE_U2 = ELEMENT_TYPE_U2, 345 SERIALIZATION_TYPE_I4 = ELEMENT_TYPE_I4, 346 SERIALIZATION_TYPE_U4 = ELEMENT_TYPE_U4, 347 SERIALIZATION_TYPE_I8 = ELEMENT_TYPE_I8, 348 SERIALIZATION_TYPE_U8 = ELEMENT_TYPE_U8, 349 SERIALIZATION_TYPE_R4 = ELEMENT_TYPE_R4, 350 SERIALIZATION_TYPE_R8 = ELEMENT_TYPE_R8, 351 SERIALIZATION_TYPE_STRING = ELEMENT_TYPE_STRING, 352 SERIALIZATION_TYPE_SZARRAY = ELEMENT_TYPE_SZARRAY, 353 SERIALIZATION_TYPE_TYPE = 0x50, 354 SERIALIZATION_TYPE_TAGGED_OBJECT= 0x51, 355 SERIALIZATION_TYPE_FIELD = 0x53, 356 SERIALIZATION_TYPE_PROPERTY = 0x54, 357 SERIALIZATION_TYPE_ENUM = 0x55 358 } CorSerializationType; 359 360 typedef enum CorCallingConvention { 361 IMAGE_CEE_CS_CALLCONV_DEFAULT = 0x0, 362 IMAGE_CEE_CS_CALLCONV_VARARG = 0x5, 363 IMAGE_CEE_CS_CALLCONV_FIELD = 0x6, 364 IMAGE_CEE_CS_CALLCONV_LOCAL_SIG = 0x7, 365 IMAGE_CEE_CS_CALLCONV_PROPERTY = 0x8, 366 IMAGE_CEE_CS_CALLCONV_UNMGD = 0x9, 367 IMAGE_CEE_CS_CALLCONV_GENERICINST = 0xa, 368 IMAGE_CEE_CS_CALLCONV_NATIVEVARARG = 0xb, 369 IMAGE_CEE_CS_CALLCONV_MAX = 0xc, 370 IMAGE_CEE_CS_CALLCONV_MASK = 0x0f, 371 IMAGE_CEE_CS_CALLCONV_HASTHIS = 0x20, 372 IMAGE_CEE_CS_CALLCONV_EXPLICITTHIS = 0x40, 373 IMAGE_CEE_CS_CALLCONV_GENERIC = 0x10, 374 } CorCallingConvention; 375 376 typedef enum CorUnmanagedCallingConvention { 377 IMAGE_CEE_UNMANAGED_CALLCONV_C = 0x1, 378 IMAGE_CEE_UNMANAGED_CALLCONV_STDCALL = 0x2, 379 IMAGE_CEE_UNMANAGED_CALLCONV_THISCALL = 0x3, 380 IMAGE_CEE_UNMANAGED_CALLCONV_FASTCALL = 0x4, 381 IMAGE_CEE_CS_CALLCONV_C = IMAGE_CEE_UNMANAGED_CALLCONV_C, 382 IMAGE_CEE_CS_CALLCONV_STDCALL = IMAGE_CEE_UNMANAGED_CALLCONV_STDCALL, 383 IMAGE_CEE_CS_CALLCONV_THISCALL = IMAGE_CEE_UNMANAGED_CALLCONV_THISCALL, 384 IMAGE_CEE_CS_CALLCONV_FASTCALL = IMAGE_CEE_UNMANAGED_CALLCONV_FASTCALL, 385 } CorUnmanagedCallingConvention; 386 387 typedef enum CorArgType { 388 IMAGE_CEE_CS_END = 0x0, 389 IMAGE_CEE_CS_VOID = 0x1, 390 IMAGE_CEE_CS_I4 = 0x2, 391 IMAGE_CEE_CS_I8 = 0x3, 392 IMAGE_CEE_CS_R4 = 0x4, 393 IMAGE_CEE_CS_R8 = 0x5, 394 IMAGE_CEE_CS_PTR = 0x6, 395 IMAGE_CEE_CS_OBJECT = 0x7, 396 IMAGE_CEE_CS_STRUCT4 = 0x8, 397 IMAGE_CEE_CS_STRUCT32 = 0x9, 398 IMAGE_CEE_CS_BYVALUE = 0xa, 399 } CorArgType; 400 401 typedef enum CorNativeType { 402 NATIVE_TYPE_END = 0x0, 403 NATIVE_TYPE_VOID = 0x1, 404 NATIVE_TYPE_BOOLEAN = 0x2, 405 NATIVE_TYPE_I1 = 0x3, 406 NATIVE_TYPE_U1 = 0x4, 407 NATIVE_TYPE_I2 = 0x5, 408 NATIVE_TYPE_U2 = 0x6, 409 NATIVE_TYPE_I4 = 0x7, 410 NATIVE_TYPE_U4 = 0x8, 411 NATIVE_TYPE_I8 = 0x9, 412 NATIVE_TYPE_U8 = 0xa, 413 NATIVE_TYPE_R4 = 0xb, 414 NATIVE_TYPE_R8 = 0xc, 415 NATIVE_TYPE_SYSCHAR = 0xd, 416 NATIVE_TYPE_VARIANT = 0xe, 417 NATIVE_TYPE_CURRENCY = 0xf, 418 NATIVE_TYPE_PTR = 0x10, 419 NATIVE_TYPE_DECIMAL = 0x11, 420 NATIVE_TYPE_DATE = 0x12, 421 NATIVE_TYPE_BSTR = 0x13, 422 NATIVE_TYPE_LPSTR = 0x14, 423 NATIVE_TYPE_LPWSTR = 0x15, 424 NATIVE_TYPE_LPTSTR = 0x16, 425 NATIVE_TYPE_FIXEDSYSSTRING = 0x17, 426 NATIVE_TYPE_OBJECTREF = 0x18, 427 NATIVE_TYPE_IUNKNOWN = 0x19, 428 NATIVE_TYPE_IDISPATCH = 0x1a, 429 NATIVE_TYPE_STRUCT = 0x1b, 430 NATIVE_TYPE_INTF = 0x1c, 431 NATIVE_TYPE_SAFEARRAY = 0x1d, 432 NATIVE_TYPE_FIXEDARRAY = 0x1e, 433 NATIVE_TYPE_INT = 0x1f, 434 NATIVE_TYPE_UINT = 0x20, 435 NATIVE_TYPE_NESTEDSTRUCT = 0x21, 436 NATIVE_TYPE_BYVALSTR = 0x22, 437 NATIVE_TYPE_ANSIBSTR = 0x23, 438 NATIVE_TYPE_TBSTR = 0x24, 439 NATIVE_TYPE_VARIANTBOOL = 0x25, 440 NATIVE_TYPE_FUNC = 0x26, 441 NATIVE_TYPE_ASANY = 0x28, 442 NATIVE_TYPE_ARRAY = 0x2a, 443 NATIVE_TYPE_LPSTRUCT = 0x2b, 444 NATIVE_TYPE_CUSTOMMARSHALER = 0x2c, 445 NATIVE_TYPE_ERROR = 0x2d, 446 NATIVE_TYPE_IINSPECTABLE = 0x2e, 447 NATIVE_TYPE_HSTRING = 0x2f, 448 NATIVE_TYPE_MAX = 0x50 449 } CorNativeType; 450 451 typedef enum CorDescrGroupMethodType { 452 DESCR_GROUP_METHODDEF = 0, 453 DESCR_GROUP_METHODIMPL = 1 454 } CorDescrGroupMethodType; 455 456 typedef enum CorILMethodSect { 457 CorILMethod_Sect_KindMask = 0x3f, 458 CorILMethod_Sect_Reserved = 0, 459 CorILMethod_Sect_EHTable = 1, 460 CorILMethod_Sect_OptILTable = 2, 461 CorILMethod_Sect_FatFormat = 0x40, 462 CorILMethod_Sect_MoreSects = 0x80 463 } CorILMethodSect; 464 465 typedef enum CorILMethodFlags { 466 CorILMethod_InitLocals = 0x0010, 467 CorILMethod_MoreSects = 0x0008, 468 CorILMethod_CompressedIL = 0x0040, 469 CorILMethod_FormatShift = 3, 470 CorILMethod_FormatMask = 0x0007, 471 CorILMethod_SmallFormat = 0x0, 472 CorILMethod_TinyFormat = 0x0002, 473 CorILMethod_FatFormat = 0x0003, 474 CorILMethod_TinyFormat1 = 0x0006, 475 } CorILMethodFlags; 476 477 typedef enum CorExceptionFlag { 478 COR_ILEXCEPTION_CLAUSE_NONE, 479 COR_ILEXCEPTION_CLAUSE_OFFSETLEN = 0x0, 480 COR_ILEXCEPTION_CLAUSE_DEPRECATED = 0x0, 481 COR_ILEXCEPTION_CLAUSE_FILTER = 0x1, 482 COR_ILEXCEPTION_CLAUSE_FINALLY = 0x2, 483 COR_ILEXCEPTION_CLAUSE_FAULT = 0x4, 484 COR_ILEXCEPTION_CLAUSE_DUPLICATED = 0x8 485 } CorExceptionFlag; 486 487 typedef enum CorCheckDuplicatesFor { 488 MDDupAll = 0xffffffff, 489 MDDupENC = MDDupAll, 490 MDNoDupChecks = 0x00000000, 491 MDDupTypeDef = 0x00000001, 492 MDDupInterfaceImpl = 0x00000002, 493 MDDupMethodDef = 0x00000004, 494 MDDupTypeRef = 0x00000008, 495 MDDupMemberRef = 0x00000010, 496 MDDupCustomAttribute = 0x00000020, 497 MDDupParamDef = 0x00000040, 498 MDDupPermission = 0x00000080, 499 MDDupProperty = 0x00000100, 500 MDDupEvent = 0x00000200, 501 MDDupFieldDef = 0x00000400, 502 MDDupSignature = 0x00000800, 503 MDDupModuleRef = 0x00001000, 504 MDDupTypeSpec = 0x00002000, 505 MDDupImplMap = 0x00004000, 506 MDDupAssemblyRef = 0x00008000, 507 MDDupFile = 0x00010000, 508 MDDupExportedType = 0x00020000, 509 MDDupManifestResource = 0x00040000, 510 MDDupGenericParam = 0x00080000, 511 MDDupMethodSpec = 0x00100000, 512 MDDupGenericParamConstraint = 0x00200000, 513 MDDupAssembly = 0x10000000, 514 MDDupDefault = MDNoDupChecks | MDDupTypeRef | MDDupMemberRef | MDDupSignature | MDDupTypeSpec | MDDupMethodSpec 515 } CorCheckDuplicatesFor; 516 517 typedef enum CorRefToDefCheck { 518 MDRefToDefDefault = 0x00000003, 519 MDRefToDefAll = 0xffffffff, 520 MDRefToDefNone = 0x00000000, 521 MDTypeRefToDef = 0x00000001, 522 MDMemberRefToDef = 0x00000002 523 } CorRefToDefCheck; 524 525 typedef enum CorNotificationForTokenMovement { 526 MDNotifyDefault = 0x0000000f, 527 MDNotifyAll = 0xffffffff, 528 MDNotifyNone = 0x00000000, 529 MDNotifyMethodDef = 0x00000001, 530 MDNotifyMemberRef = 0x00000002, 531 MDNotifyFieldDef = 0x00000004, 532 MDNotifyTypeRef = 0x00000008, 533 MDNotifyTypeDef = 0x00000010, 534 MDNotifyParamDef = 0x00000020, 535 MDNotifyInterfaceImpl = 0x00000040, 536 MDNotifyProperty = 0x00000080, 537 MDNotifyEvent = 0x00000100, 538 MDNotifySignature = 0x00000200, 539 MDNotifyTypeSpec = 0x00000400, 540 MDNotifyCustomAttribute = 0x00000800, 541 MDNotifySecurityValue = 0x00001000, 542 MDNotifyPermission = 0x00002000, 543 MDNotifyModuleRef = 0x00004000, 544 MDNotifyNameSpace = 0x00008000, 545 MDNotifyAssemblyRef = 0x01000000, 546 MDNotifyFile = 0x02000000, 547 MDNotifyExportedType = 0x04000000, 548 MDNotifyResource = 0x08000000 549 } CorNotificationForTokenMovement; 550 551 typedef enum CorSetENC { 552 MDSetENCOn = 0x00000001, 553 MDSetENCOff = 0x00000002, 554 MDUpdateENC = 0x00000001, 555 MDUpdateFull = 0x00000002, 556 MDUpdateExtension = 0x00000003, 557 MDUpdateIncremental = 0x00000004, 558 MDUpdateDelta = 0x00000005, 559 MDUpdateMask = 0x00000007, 560 } CorSetENC; 561 562 typedef enum CorErrorIfEmitOutOfOrder { 563 MDErrorOutOfOrderDefault = 0x00000000, 564 MDErrorOutOfOrderNone = 0x00000000, 565 MDErrorOutOfOrderAll = 0xffffffff, 566 MDMethodOutOfOrder = 0x00000001, 567 MDFieldOutOfOrder = 0x00000002, 568 MDParamOutOfOrder = 0x00000004, 569 MDPropertyOutOfOrder = 0x00000008, 570 MDEventOutOfOrder = 0x00000010, 571 } CorErrorIfEmitOutOfOrder; 572 573 typedef enum CorImportOptions { 574 MDImportOptionDefault = 0x00000000, 575 MDImportOptionAll = 0xffffffff, 576 MDImportOptionAllTypeDefs = 0x00000001, 577 MDImportOptionAllMethodDefs = 0x00000002, 578 MDImportOptionAllFieldDefs = 0x00000004, 579 MDImportOptionAllProperties = 0x00000008, 580 MDImportOptionAllEvents = 0x00000010, 581 MDImportOptionAllCustomAttributes = 0x00000020, 582 MDImportOptionAllExportedTypes = 0x00000040 583 } CorImportOptions; 584 585 typedef enum CorThreadSafetyOptions { 586 MDThreadSafetyDefault = 0x00000000, 587 MDThreadSafetyOff = 0x00000000, 588 MDThreadSafetyOn = 0x00000001 589 } CorThreadSafetyOptions; 590 591 typedef enum CorLinkerOptions { 592 MDAssembly = 0x00000000, 593 MDNetModule = 0x00000001 594 } CorLinkerOptions; 595 596 typedef enum MergeFlags { 597 MergeFlagsNone = 0, 598 MergeManifest = 0x00000001, 599 DropMemberRefCAs = 0x00000002, 600 NoDupCheck = 0x00000004, 601 MergeExportedTypes = 0x00000008 602 } MergeFlags; 603 604 typedef enum CorLocalRefPreservation { 605 MDPreserveLocalRefsNone = 0x00000000, 606 MDPreserveLocalTypeRef = 0x00000001, 607 MDPreserveLocalMemberRef = 0x00000002 608 } CorLocalRefPreservation; 609 610 typedef enum CorTokenType { 611 mdtModule = 0x00000000, 612 mdtTypeRef = 0x01000000, 613 mdtTypeDef = 0x02000000, 614 mdtFieldDef = 0x04000000, 615 mdtMethodDef = 0x06000000, 616 mdtParamDef = 0x08000000, 617 mdtInterfaceImpl = 0x09000000, 618 mdtMemberRef = 0x0a000000, 619 mdtCustomAttribute = 0x0c000000, 620 mdtPermission = 0x0e000000, 621 mdtSignature = 0x11000000, 622 mdtEvent = 0x14000000, 623 mdtProperty = 0x17000000, 624 mdtMethodImpl = 0x19000000, 625 mdtModuleRef = 0x1a000000, 626 mdtTypeSpec = 0x1b000000, 627 mdtAssembly = 0x20000000, 628 mdtAssemblyRef = 0x23000000, 629 mdtFile = 0x26000000, 630 mdtExportedType = 0x27000000, 631 mdtManifestResource = 0x28000000, 632 mdtGenericParam = 0x2a000000, 633 mdtMethodSpec = 0x2b000000, 634 mdtGenericParamConstraint = 0x2c000000, 635 mdtString = 0x70000000, 636 mdtName = 0x71000000, 637 mdtBaseType = 0x72000000, 638 } CorTokenType; 639 640 typedef enum CorOpenFlags { 641 ofReadWriteMask = 0x00000001, 642 ofRead = 0x00000000, 643 ofWrite = 0x00000001, 644 ofCopyMemory = 0x00000002, 645 ofReadOnly = 0x00000010, 646 ofTakeOwnership = 0x00000020, 647 ofNoTypeLib = 0x00000080, 648 ofNoTransform = 0x00001000, 649 ofReserved1 = 0x00000100, 650 ofReserved2 = 0x00000200, 651 ofReserved3 = 0x00000400, 652 ofReserved = 0xffffef40 653 } CorOpenFlags; 654 655 typedef enum CorAttributeTargets { 656 catAssembly = 0x0001, 657 catModule = 0x0002, 658 catClass = 0x0004, 659 catStruct = 0x0008, 660 catEnum = 0x0010, 661 catConstructor = 0x0020, 662 catMethod = 0x0040, 663 catProperty = 0x0080, 664 catField = 0x0100, 665 catEvent = 0x0200, 666 catInterface = 0x0400, 667 catParameter = 0x0800, 668 catDelegate = 0x1000, 669 catGenericParameter = 0x4000, 670 catAll = catAssembly | catModule | catClass | catStruct | catEnum | catConstructor 671 | catMethod | catProperty | catField | catEvent | catInterface | catParameter | catDelegate | catGenericParameter, 672 catClassMembers = catClass | catStruct | catEnum | catConstructor | catMethod | catProperty | catField | catEvent | catDelegate | catInterface, 673 } CorAttributeTargets; 674 675 typedef enum CorFileMapping { 676 fmFlat = 0, 677 fmExecutableImage = 1 678 } CorFileMapping; 679 680 typedef enum CompilationRelaxationsEnum { 681 CompilationRelaxations_NoStringInterning = 0x8 682 } CompilationRelaxationEnum; 683 684 typedef enum NGenHintEnum { 685 NGenDefault = 0x0, 686 NGenEager = 0x1, 687 NGenLazy = 0x2, 688 NGenNever = 0x3 689 } NGenHintEnum; 690 691 typedef enum LoadHintEnum { 692 LoadDefault = 0x0, 693 LoadAlways = 0x01, 694 LoadSometimes = 0x2, 695 LoadNever = 0x3 696 } LoadHintEnum; 697 698 #ifndef _CORSAVESIZE_DEFINED_ 699 #define _CORSAVESIZE_DEFINED_ 700 typedef enum CorSaveSize { 701 cssAccurate = 0x0000, 702 cssQuick = 0x0001, 703 cssDiscardTransientCAs = 0x0002 704 } CorSaveSize; 705 #endif 706 707 typedef enum NativeTypeArrayFlags { 708 ntaSizeParamIndexSpecified = 0x0001, 709 ntaReserved = 0xfffe 710 } NativeTypeArrayFlags; 711 712 typedef LPVOID mdScope; 713 typedef ULONG32 mdToken; 714 typedef mdToken mdModule; 715 typedef mdToken mdTypeRef; 716 typedef mdToken mdTypeDef; 717 typedef mdToken mdFieldDef; 718 typedef mdToken mdMethodDef; 719 typedef mdToken mdParamDef; 720 typedef mdToken mdInterfaceImpl; 721 typedef mdToken mdMemberRef; 722 typedef mdToken mdCustomAttribute; 723 typedef mdToken mdPermission; 724 typedef mdToken mdSignature; 725 typedef mdToken mdEvent; 726 typedef mdToken mdProperty; 727 typedef mdToken mdModuleRef; 728 typedef mdToken mdAssembly; 729 typedef mdToken mdAssemblyRef; 730 typedef mdToken mdFile; 731 typedef mdToken mdExportedType; 732 typedef mdToken mdManifestResource; 733 typedef mdToken mdTypeSpec; 734 typedef mdToken mdGenericParam; 735 typedef mdToken mdMethodSpec; 736 typedef mdToken mdGenericParamConstraint; 737 typedef mdToken mdString; 738 typedef mdToken mdCPToken; 739 typedef ULONG RID; 740 typedef CorTypeAttr CorRegTypeAttr; 741 typedef void *HCORENUM; 742 typedef unsigned char COR_SIGNATURE; 743 typedef COR_SIGNATURE *PCOR_SIGNATURE; 744 typedef const COR_SIGNATURE *PCCOR_SIGNATURE; 745 typedef const char *MDUTF8CSTR; 746 typedef char *MDUTF8STR; 747 typedef void *PSECURITY_PROPS; 748 typedef void *PSECURITY_VALUE; 749 typedef void **PPSECURITY_PROPS; 750 typedef void **PPSECURITY_VALUE; 751 752 typedef struct COR_SECATTR { 753 mdMemberRef tkCtor; 754 const void *pCustomAttribute; 755 ULONG cbCustomAttribute; 756 } COR_SECATTR; 757 758 typedef struct IMAGE_COR_ILMETHOD_SECT_SMALL { 759 BYTE Kind; 760 BYTE DataSize; 761 } IMAGE_COR_ILMETHOD_SECT_SMALL; 762 763 typedef struct IMAGE_COR_ILMETHOD_SECT_FAT { 764 unsigned int Kind : 8; 765 unsigned int DataSize : 24; 766 } IMAGE_COR_ILMETHOD_SECT_FAT; 767 768 typedef struct IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT { 769 CorExceptionFlag Flags; 770 DWORD TryOffset; 771 DWORD TryLength; 772 DWORD HandlerOffset; 773 DWORD HandlerLength; 774 __C89_NAMELESS union { 775 DWORD ClassToken; 776 DWORD FilterOffset; 777 }; 778 } IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT; 779 780 typedef struct IMAGE_COR_ILMETHOD_SECT_EH_FAT { 781 IMAGE_COR_ILMETHOD_SECT_FAT SectFat; 782 IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT Clauses[1]; 783 } IMAGE_COR_ILMETHOD_SECT_EH_FAT; 784 785 typedef struct IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL { 786 unsigned int Flags : 16; 787 unsigned int TryOffset : 16; 788 unsigned int TryLength : 8; 789 unsigned int HandlerOffset : 16; 790 unsigned int HandlerLength : 8; 791 __C89_NAMELESS union { 792 DWORD ClassToken; 793 DWORD FilterOffset; 794 }; 795 } IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL; 796 797 typedef struct IMAGE_COR_ILMETHOD_SECT_EH_SMALL { 798 IMAGE_COR_ILMETHOD_SECT_SMALL SectSmall; 799 WORD Reserved; 800 IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL Clauses[1]; 801 } IMAGE_COR_ILMETHOD_SECT_EH_SMALL; 802 803 typedef union IMAGE_COR_ILMETHOD_SECT_EH { 804 IMAGE_COR_ILMETHOD_SECT_EH_SMALL Small; 805 IMAGE_COR_ILMETHOD_SECT_EH_FAT Fat; 806 } IMAGE_COR_ILMETHOD_SECT_EH; 807 808 typedef struct IMAGE_COR_ILMETHOD_TINY { 809 BYTE Flags_CodeSize; 810 } IMAGE_COR_ILMETHOD_TINY; 811 812 typedef struct IMAGE_COR_ILMETHOD_FAT { 813 unsigned int Flags : 12; 814 unsigned int Size : 4; 815 unsigned int MaxStack : 16; 816 DWORD CodeSize; 817 mdSignature LocalVarSigTok; 818 } IMAGE_COR_ILMETHOD_FAT; 819 820 typedef union IMAGE_COR_ILMETHOD { 821 IMAGE_COR_ILMETHOD_TINY Tiny; 822 IMAGE_COR_ILMETHOD_FAT Fat; 823 } IMAGE_COR_ILMETHOD; 824 825 typedef struct IMAGE_COR_VTABLEFIXUP { 826 ULONG RVA; 827 USHORT Count; 828 USHORT Type; 829 } IMAGE_COR_VTABLEFIXUP; 830 831 #ifndef _COR_FIELD_OFFSET_ 832 #define _COR_FIELD_OFFSET_ 833 typedef struct COR_FIELD_OFFSET { 834 mdFieldDef ridOfField; 835 ULONG ulOffset; 836 } COR_FIELD_OFFSET; 837 #endif 838 839 #ifndef IMAGE_DIRECTORY_ENTRY_COMHEADER 840 #define IMAGE_DIRECTORY_ENTRY_COMHEADER 14 841 #endif 842 843 #define FRAMEWORK_REGISTRY_KEY "Software\\Microsoft\\.NETFramework" 844 #define FRAMEWORK_REGISTRY_KEY_W L"Software\\Microsoft\\.NETFramework" 845 846 #ifdef _WIN64 847 #define USER_FRAMEWORK_REGISTRY_KEY "Software\\Microsoft\\.NETFramework64" 848 #define USER_FRAMEWORK_REGISTRY_KEY_W L"Software\\Microsoft\\.NETFramework64" 849 #else 850 #define USER_FRAMEWORK_REGISTRY_KEY "Software\\Microsoft\\.NETFramework" 851 #define USER_FRAMEWORK_REGISTRY_KEY_W L"Software\\Microsoft\\.NETFramework" 852 #endif 853 854 #define COR_CTOR_METHOD_NAME ".ctor" 855 #define COR_CTOR_METHOD_NAME_W L".ctor" 856 #define COR_CCTOR_METHOD_NAME ".cctor" 857 #define COR_CCTOR_METHOD_NAME_W L".cctor" 858 859 #define COR_ENUM_FIELD_NAME "value__" 860 #define COR_ENUM_FIELD_NAME_W L"value__" 861 862 #define COR_DELETED_NAME_A "_Deleted" 863 #define COR_DELETED_NAME_W L"_Deleted" 864 #define COR_VTABLEGAP_NAME_A "_VtblGap" 865 #define COR_VTABLEGAP_NAME_W L"_VtblGap" 866 867 #define COR_IS_32BIT_REQUIRED(_FLAGS) (((_FLAGS) & (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED)) == (COMIMAGE_FLAGS_32BITREQUIRED)) 868 #define COR_IS_32BIT_PREFERRED(_FLAGS) (((_FLAGS) & (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED)) == (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED)) 869 #define COR_SET_32BIT_REQUIRED(_FLAGS) do { _FLAGS = (_FLAGS & ~COMIMAGE_FLAGS_32BITPREFERRED) | COMIMAGE_FLAGS_32BITREQUIRED; } while (0) 870 #define COR_SET_32BIT_PREFERRED(_FLAGS) do { _FLAGS |= COMIMAGE_FLAGS_32BITPREFERRED | COMIMAGE_FLAGS_32BITREQUIRED; } while (0) 871 #define COR_CLEAR_32BIT_REQUIRED(_flagsfield) do { _FLAGS &= ~ (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED); } while (0) 872 #define COR_CLEAR_32BIT_PREFERRED(_FLAGS) do { _FLAGS &= ~ (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED); } while (0) 873 874 #define COR_IS_METHOD_MANAGED_IL(flags) ((flags & 0xf) == (miIL | miManaged)) 875 #define COR_IS_METHOD_MANAGED_OPTIL(flags) ((flags & 0xf) == (miOPTIL | miManaged)) 876 #define COR_IS_METHOD_MANAGED_NATIVE(flags) ((flags & 0xf) == (miNative | miManaged)) 877 #define COR_IS_METHOD_UNMANAGED_NATIVE(flags) ((flags & 0xf) == (miNative | miUnmanaged)) 878 879 #define CMOD_CALLCONV_NAMESPACE_OLD "System.Runtime.InteropServices" 880 #define CMOD_CALLCONV_NAMESPACE "System.Runtime.CompilerServices" 881 #define CMOD_CALLCONV_NAME_CDECL "CallConvCdecl" 882 #define CMOD_CALLCONV_NAME_STDCALL "CallConvStdcall" 883 #define CMOD_CALLCONV_NAME_THISCALL "CallConvThiscall" 884 #define CMOD_CALLCONV_NAME_FASTCALL "CallConvFastcall" 885 886 #define IsDeletedName(strName) (strncmp (strName, COR_DELETED_NAME_A, COR_DELETED_NAME_LENGTH) == 0) 887 #define IsVtblGapName(strName) (strncmp (strName, COR_VTABLEGAP_NAME_A, COR_VTABLEGAP_NAME_LENGTH) == 0) 888 889 #define IsTdNotPublic(x) (((x) & tdVisibilityMask) == tdNotPublic) 890 #define IsTdPublic(x) (((x) & tdVisibilityMask) == tdPublic) 891 #define IsTdNestedPublic(x) (((x) & tdVisibilityMask) == tdNestedPublic) 892 #define IsTdNestedPrivate(x) (((x) & tdVisibilityMask) == tdNestedPrivate) 893 #define IsTdNestedFamily(x) (((x) & tdVisibilityMask) == tdNestedFamily) 894 #define IsTdNestedAssembly(x) (((x) & tdVisibilityMask) == tdNestedAssembly) 895 #define IsTdNestedFamANDAssem(x) (((x) & tdVisibilityMask) == tdNestedFamANDAssem) 896 #define IsTdNestedFamORAssem(x) (((x) & tdVisibilityMask) == tdNestedFamORAssem) 897 #define IsTdNested(x) (((x) & tdVisibilityMask) >= tdNestedPublic) 898 #define IsTdAutoLayout(x) (((x) & tdLayoutMask) == tdAutoLayout) 899 #define IsTdSequentialLayout(x) (((x) & tdLayoutMask) == tdSequentialLayout) 900 #define IsTdExplicitLayout(x) (((x) & tdLayoutMask) == tdExplicitLayout) 901 #define IsTdClass(x) (((x) & tdClassSemanticsMask) == tdClass) 902 #define IsTdInterface(x) (((x) & tdClassSemanticsMask) == tdInterface) 903 #define IsTdAbstract(x) ((x) & tdAbstract) 904 #define IsTdSealed(x) ((x) & tdSealed) 905 #define IsTdSpecialName(x) ((x) & tdSpecialName) 906 #define IsTdImport(x) ((x) & tdImport) 907 #define IsTdSerializable(x) ((x) & tdSerializable) 908 #define IsTdWindowsRuntime(x) ((x) & tdWindowsRuntime) 909 #define IsTdAnsiClass(x) (((x) & tdStringFormatMask) == tdAnsiClass) 910 #define IsTdUnicodeClass(x) (((x) & tdStringFormatMask) == tdUnicodeClass) 911 #define IsTdAutoClass(x) (((x) & tdStringFormatMask) == tdAutoClass) 912 #define IsTdCustomFormatClass(x) (((x) & tdStringFormatMask) == tdCustomFormatClass) 913 #define IsTdBeforeFieldInit(x) ((x) & tdBeforeFieldInit) 914 #define IsTdForwarder(x) ((x) & tdForwarder) 915 #define IsTdRTSpecialName(x) ((x) & tdRTSpecialName) 916 #define IsTdHasSecurity(x) ((x) & tdHasSecurity) 917 918 #define IsMdPrivateScope(x) (((x) & mdMemberAccessMask) == mdPrivateScope) 919 #define IsMdPrivate(x) (((x) & mdMemberAccessMask) == mdPrivate) 920 #define IsMdFamANDAssem(x) (((x) & mdMemberAccessMask) == mdFamANDAssem) 921 #define IsMdAssem(x) (((x) & mdMemberAccessMask) == mdAssem) 922 #define IsMdFamily(x) (((x) & mdMemberAccessMask) == mdFamily) 923 #define IsMdFamORAssem(x) (((x) & mdMemberAccessMask) == mdFamORAssem) 924 #define IsMdPublic(x) (((x) & mdMemberAccessMask) == mdPublic) 925 #define IsMdUnmanagedExport(x) ((x) & mdUnmanagedExport) 926 #define IsMdStatic(x) ((x) & mdStatic) 927 #define IsMdFinal(x) ((x) & mdFinal) 928 #define IsMdVirtual(x) ((x) & mdVirtual) 929 #define IsMdHideBySig(x) ((x) & mdHideBySig) 930 #define IsMdReuseSlot(x) (((x) & mdVtableLayoutMask) == mdReuseSlot) 931 #define IsMdNewSlot(x) (((x) & mdVtableLayoutMask) == mdNewSlot) 932 #define IsMdCheckAccessOnOverride(x) ((x) & mdCheckAccessOnOverride) 933 #define IsMdAbstract(x) ((x) & mdAbstract) 934 #define IsMdSpecialName(x) ((x) & mdSpecialName) 935 #define IsMdPinvokeImpl(x) ((x) & mdPinvokeImpl) 936 #define IsMdRTSpecialName(x) ((x) & mdRTSpecialName) 937 #define IsMdInstanceInitializer(x, str) (((x) & mdRTSpecialName) && !strcmp ((str), COR_CTOR_METHOD_NAME)) 938 #define IsMdInstanceInitializerW(x, str) (((x) & mdRTSpecialName) && !wcscmp ((str), COR_CTOR_METHOD_NAME_W)) 939 #define IsMdClassConstructor(x, str) (((x) & mdRTSpecialName) && !strcmp ((str), COR_CCTOR_METHOD_NAME)) 940 #define IsMdClassConstructorW(x, str) (((x) & mdRTSpecialName) && !wcscmp ((str), COR_CCTOR_METHOD_NAME_W)) 941 #define IsMdHasSecurity(x) ((x) & mdHasSecurity) 942 #define IsMdRequireSecObject(x) ((x) & mdRequireSecObject) 943 944 #define IsFdPrivateScope(x) (((x) & fdFieldAccessMask) == fdPrivateScope) 945 #define IsFdPrivate(x) (((x) & fdFieldAccessMask) == fdPrivate) 946 #define IsFdFamANDAssem(x) (((x) & fdFieldAccessMask) == fdFamANDAssem) 947 #define IsFdAssembly(x) (((x) & fdFieldAccessMask) == fdAssembly) 948 #define IsFdFamily(x) (((x) & fdFieldAccessMask) == fdFamily) 949 #define IsFdFamORAssem(x) (((x) & fdFieldAccessMask) == fdFamORAssem) 950 #define IsFdPublic(x) (((x) & fdFieldAccessMask) == fdPublic) 951 #define IsFdStatic(x) ((x) & fdStatic) 952 #define IsFdInitOnly(x) ((x) & fdInitOnly) 953 #define IsFdLiteral(x) ((x) & fdLiteral) 954 #define IsFdNotSerialized(x) ((x) & fdNotSerialized) 955 #define IsFdHasFieldRVA(x) ((x) & fdHasFieldRVA) 956 #define IsFdSpecialName(x) ((x) & fdSpecialName) 957 #define IsFdRTSpecialName(x) ((x) & fdRTSpecialName) 958 #define IsFdHasFieldMarshal(x) ((x) & fdHasFieldMarshal) 959 #define IsFdPinvokeImpl(x) ((x) & fdPinvokeImpl) 960 #define IsFdHasDefault(x) ((x) & fdHasDefault) 961 962 #define IsPdIn(x) ((x) & pdIn) 963 #define IsPdOut(x) ((x) & pdOut) 964 #define IsPdOptional(x) ((x) & pdOptional) 965 #define IsPdHasDefault(x) ((x) & pdHasDefault) 966 #define IsPdHasFieldMarshal(x) ((x) & pdHasFieldMarshal) 967 968 #define IsPrSpecialName(x) ((x) & prSpecialName) 969 #define IsPrRTSpecialName(x) ((x) & prRTSpecialName) 970 #define IsPrHasDefault(x) ((x) & prHasDefault) 971 972 #define IsEvSpecialName(x) ((x) & evSpecialName) 973 #define IsEvRTSpecialName(x) ((x) & evRTSpecialName) 974 975 #define IsMsSetter(x) ((x) & msSetter) 976 #define IsMsGetter(x) ((x) & msGetter) 977 #define IsMsOther(x) ((x) & msOther) 978 #define IsMsAddOn(x) ((x) & msAddOn) 979 #define IsMsRemoveOn(x) ((x) & msRemoveOn) 980 #define IsMsFire(x) ((x) & msFire) 981 982 #define IsDclActionNil(x) (((x) & dclActionMask) == dclActionNil) 983 #define IsDclActionAnyStackModifier(x) ((((x) & dclActionMask) == dclAssert) || (((x) & dclActionMask) == dclDeny) || (((x) & dclActionMask) == dclPermitOnly)) 984 #define IsAssemblyDclAction(x) (((x) >= dclRequestMinimum) && ((x) <= dclRequestRefuse)) 985 #define IsNGenOnlyDclAction(x) (((x) == dclPrejitGrant) || ((x) == dclPrejitDenied)) 986 987 #define IsMiIL(x) (((x) & miCodeTypeMask) == miIL) 988 #define IsMiNative(x) (((x) & miCodeTypeMask) == miNative) 989 #define IsMiOPTIL(x) (((x) & miCodeTypeMask) == miOPTIL) 990 #define IsMiRuntime(x) (((x) & miCodeTypeMask) == miRuntime) 991 #define IsMiUnmanaged(x) (((x) & miManagedMask) == miUnmanaged) 992 #define IsMiManaged(x) (((x) & miManagedMask) == miManaged) 993 #define IsMiNoInlining(x) ((x) & miNoInlining) 994 #define IsMiForwardRef(x) ((x) & miForwardRef) 995 #define IsMiSynchronized(x) ((x) & miSynchronized) 996 #define IsMiNoOptimization(x) ((x) & miNoOptimization) 997 #define IsMiPreserveSig(x) ((x) & miPreserveSig) 998 #define IsMiAggressiveInlining(x) ((x) & miAggressiveInlining) 999 #define IsMiInternalCall(x) ((x) & miInternalCall) 1000 1001 #define IsPmNoMangle(x) ((x) & pmNoMangle) 1002 #define IsPmCharSetNotSpec(x) (((x) & pmCharSetMask) == pmCharSetNotSpec) 1003 #define IsPmCharSetAnsi(x) (((x) & pmCharSetMask) == pmCharSetAnsi) 1004 #define IsPmCharSetUnicode(x) (((x) & pmCharSetMask) == pmCharSetUnicode) 1005 #define IsPmCharSetAuto(x) (((x) & pmCharSetMask) == pmCharSetAuto) 1006 #define IsPmSupportsLastError(x) ((x) & pmSupportsLastError) 1007 #define IsPmCallConvWinapi(x) (((x) & pmCallConvMask) == pmCallConvWinapi) 1008 #define IsPmCallConvCdecl(x) (((x) & pmCallConvMask) == pmCallConvCdecl) 1009 #define IsPmCallConvStdcall(x) (((x) & pmCallConvMask) == pmCallConvStdcall) 1010 #define IsPmCallConvThiscall(x) (((x) & pmCallConvMask) == pmCallConvThiscall) 1011 #define IsPmCallConvFastcall(x) (((x) & pmCallConvMask) == pmCallConvFastcall) 1012 #define IsPmBestFitEnabled(x) (((x) & pmBestFitMask) == pmBestFitEnabled) 1013 #define IsPmBestFitDisabled(x) (((x) & pmBestFitMask) == pmBestFitDisabled) 1014 #define IsPmBestFitUseAssem(x) (((x) & pmBestFitMask) == pmBestFitUseAssem) 1015 #define IsPmThrowOnUnmappableCharEnabled(x) (((x) & pmThrowOnUnmappableCharMask) == pmThrowOnUnmappableCharEnabled) 1016 #define IsPmThrowOnUnmappableCharDisabled(x) (((x) & pmThrowOnUnmappableCharMask) == pmThrowOnUnmappableCharDisabled) 1017 #define IsPmThrowOnUnmappableCharUseAssem(x) (((x) & pmThrowOnUnmappableCharMask) == pmThrowOnUnmappableCharUseAssem) 1018 1019 #define IsAfRetargetable(x) ((x) & afRetargetable) 1020 #define IsAfContentType_Default(x) (((x) & afContentType_Mask) == afContentType_Default) 1021 #define IsAfContentType_WindowsRuntime(x) (((x) & afContentType_Mask) == afContentType_WindowsRuntime) 1022 #define IsAfPA_MSIL(x) (((x) & afPA_Mask) == afPA_MSIL) 1023 #define IsAfPA_x86(x) (((x) & afPA_Mask) == afPA_x86) 1024 #define IsAfPA_IA64(x) (((x) & afPA_Mask) == afPA_IA64) 1025 #define IsAfPA_AMD64(x) (((x) & afPA_Mask) == afPA_AMD64) 1026 #define IsAfPA_ARM(x) (((x) & afPA_Mask) == afPA_ARM) 1027 #define IsAfPA_NoPlatform(x) (((x) & afPA_FullMask) == afPA_NoPlatform) 1028 #define IsAfPA_Specified(x) ((x) & afPA_Specified) 1029 #define PAIndex(x) (((x) & afPA_Mask) >> afPA_Shift) 1030 #define PAFlag(x) (((x) << afPA_Shift) & afPA_Mask) 1031 #define PrepareForSaving(x) ((x) &(((x) & afPA_Specified) ? ~afPA_Specified : ~afPA_FullMask)) 1032 #define IsAfEnableJITcompileTracking(x) ((x) & afEnableJITcompileTracking) 1033 #define IsAfDisableJITcompileOptimizer(x) ((x) & afDisableJITcompileOptimizer) 1034 #define IsAfPublicKey(x) ((x) & afPublicKey) 1035 #define IsAfPublicKeyToken(x) (((x) & afPublicKey) == 0) 1036 1037 #define IsMrPublic(x) (((x) & mrVisibilityMask) == mrPublic) 1038 #define IsMrPrivate(x) (((x) & mrVisibilityMask) == mrPrivate) 1039 1040 #define IsFfContainsMetaData(x) (! ((x) & ffContainsNoMetaData)) 1041 #define IsFfContainsNoMetaData(x) ((x) & ffContainsNoMetaData) 1042 1043 #define IMAGE_CEE_CS_CALLCONV_INSTANTIATION IMAGE_CEE_CS_CALLCONV_GENERICINST 1044 1045 #define IsENCDelta(x) (((x) & MDUpdateMask) == MDUpdateDelta) 1046 1047 #define RidToToken(rid, tktype) ((rid) |= (tktype)) 1048 #define TokenFromRid(rid, tktype) ((rid) | (tktype)) 1049 #define RidFromToken(tk) ((RID) ((tk) & 0x00ffffff)) 1050 #define TypeFromToken(tk) ((ULONG32) ((tk) & 0xff000000)) 1051 #define IsNilToken(tk) ((RidFromToken (tk)) == 0) 1052 1053 #define mdTokenNil ((mdToken)0) 1054 #define mdModuleNil ((mdModule)mdtModule) 1055 #define mdTypeRefNil ((mdTypeRef)mdtTypeRef) 1056 #define mdTypeDefNil ((mdTypeDef)mdtTypeDef) 1057 #define mdFieldDefNil ((mdFieldDef)mdtFieldDef) 1058 #define mdMethodDefNil ((mdMethodDef)mdtMethodDef) 1059 #define mdParamDefNil ((mdParamDef)mdtParamDef) 1060 #define mdInterfaceImplNil ((mdInterfaceImpl)mdtInterfaceImpl) 1061 #define mdMemberRefNil ((mdMemberRef)mdtMemberRef) 1062 #define mdCustomAttributeNil ((mdCustomAttribute)mdtCustomAttribute) 1063 #define mdPermissionNil ((mdPermission)mdtPermission) 1064 #define mdSignatureNil ((mdSignature)mdtSignature) 1065 #define mdEventNil ((mdEvent)mdtEvent) 1066 #define mdPropertyNil ((mdProperty)mdtProperty) 1067 #define mdModuleRefNil ((mdModuleRef)mdtModuleRef) 1068 #define mdTypeSpecNil ((mdTypeSpec)mdtTypeSpec) 1069 #define mdAssemblyNil ((mdAssembly)mdtAssembly) 1070 #define mdAssemblyRefNil ((mdAssemblyRef)mdtAssemblyRef) 1071 #define mdFileNil ((mdFile)mdtFile) 1072 #define mdExportedTypeNil ((mdExportedType)mdtExportedType) 1073 #define mdManifestResourceNil ((mdManifestResource)mdtManifestResource) 1074 #define mdGenericParamNil ((mdGenericParam)mdtGenericParam) 1075 #define mdGenericParamConstraintNil ((mdGenericParamConstraint)mdtGenericParamConstraint) 1076 #define mdMethodSpecNil ((mdMethodSpec)mdtMethodSpec) 1077 #define mdStringNil ((mdString)mdtString) 1078 1079 #define IsOfRead(x) (((x) & ofReadWriteMask) == ofRead) 1080 #define IsOfReadWrite(x) (((x) & ofReadWriteMask) == ofWrite) 1081 #define IsOfCopyMemory(x) ((x) & ofCopyMemory) 1082 #define IsOfReadOnly(x) ((x) & ofReadOnly) 1083 #define IsOfTakeOwnership(x) ((x) & ofTakeOwnership) 1084 #define IsOfReserved(x) (((x) & ofReserved) != 0) 1085 1086 #ifndef IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS 1087 #define IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS (IMAGE_CEE_CS_CALLCONV_DEFAULT | IMAGE_CEE_CS_CALLCONV_HASTHIS) 1088 #endif 1089 1090 #define INTEROP_AUTOPROXY_TYPE_W L"System.Runtime.InteropServices.AutomationProxyAttribute" 1091 #define INTEROP_AUTOPROXY_TYPE "System.Runtime.InteropServices.AutomationProxyAttribute" 1092 #define INTEROP_AUTOPROXY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_BOOLEAN} 1093 #define INTEROP_BESTFITMAPPING_TYPE_W L"System.Runtime.InteropServices.BestFitMappingAttribute" 1094 #define INTEROP_BESTFITMAPPING_TYPE "System.Runtime.InteropServices.BestFitMappingAttribute" 1095 #define INTEROP_BESTFITMAPPING_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_BOOLEAN, ELEMENT_TYPE_BOOLEAN} 1096 #define INTEROP_CLASSINTERFACE_TYPE_W L"System.Runtime.InteropServices.ClassInterfaceAttribute" 1097 #define INTEROP_CLASSINTERFACE_TYPE "System.Runtime.InteropServices.ClassInterfaceAttribute" 1098 #define INTEROP_CLASSINTERFACE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} 1099 #define INTEROP_COCLASS_TYPE_W L"System.Runtime.InteropServices.CoClassAttribute" 1100 #define INTEROP_COCLASS_TYPE "System.Runtime.InteropServices.CoClassAttribute" 1101 #define INTEROP_COMALIASNAME_TYPE_W L"System.Runtime.InteropServices.ComAliasNameAttribute" 1102 #define INTEROP_COMALIASNAME_TYPE "System.Runtime.InteropServices.ComAliasNameAttribute" 1103 #define INTEROP_COMALIASNAME_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} 1104 #define INTEROP_COMCOMPATIBLEVERSION_TYPE_W L"System.Runtime.InteropServices.ComCompatibleVersionAttribute" 1105 #define INTEROP_COMCOMPATIBLEVERSION_TYPE "System.Runtime.InteropServices.ComCompatibleVersionAttribute" 1106 #define INTEROP_COMCOMPATIBLEVERSION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 4, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2, ELEMENT_TYPE_I2, ELEMENT_TYPE_I2, ELEMENT_TYPE_I2} 1107 #define INTEROP_COMCONVERSIONLOSS_TYPE_W L"System.Runtime.InteropServices.ComConversionLossAttribute" 1108 #define INTEROP_COMCONVERSIONLOSS_TYPE "System.Runtime.InteropServices.ComConversionLossAttribute" 1109 #define INTEROP_COMCONVERSIONLOSS_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1110 #define INTEROP_COMDEFAULTINTERFACE_TYPE_W L"System.Runtime.InteropServices.ComDefaultInterfaceAttribute" 1111 #define INTEROP_COMDEFAULTINTERFACE_TYPE "System.Runtime.InteropServices.ComDefaultInterfaceAttribute" 1112 #define INTEROP_COMEMULATE_TYPE_W L"System.Runtime.InteropServices.ComEmulateAttribute" 1113 #define INTEROP_COMEMULATE_TYPE "System.Runtime.InteropServices.ComEmulateAttribute" 1114 #define INTEROP_COMEMULATE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} 1115 #define INTEROP_COMEVENTINTERFACE_TYPE_W L"System.Runtime.InteropServices.ComEventInterfaceAttribute" 1116 #define INTEROP_COMEVENTINTERFACE_TYPE "System.Runtime.InteropServices.ComEventInterfaceAttribute" 1117 #define INTEROP_COMIMPORT_TYPE_W L"System.Runtime.InteropServices.ComImportAttribute" 1118 #define INTEROP_COMIMPORT_TYPE "System.Runtime.InteropServices.ComImportAttribute" 1119 #define INTEROP_COMIMPORT_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1120 #define INTEROP_COMREGISTERFUNCTION_TYPE_W L"System.Runtime.InteropServices.ComRegisterFunctionAttribute" 1121 #define INTEROP_COMREGISTERFUNCTION_TYPE "System.Runtime.InteropServices.ComRegisterFunctionAttribute" 1122 #define INTEROP_COMREGISTERFUNCTION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1123 #define INTEROP_COMSOURCEINTERFACES_TYPE_W L"System.Runtime.InteropServices.ComSourceInterfacesAttribute" 1124 #define INTEROP_COMSOURCEINTERFACES_TYPE "System.Runtime.InteropServices.ComSourceInterfacesAttribute" 1125 #define INTEROP_COMSOURCEINTERFACES_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} 1126 #define INTEROP_COMSUBSTITUTABLEINTERFACE_TYPE_W L"System.Runtime.InteropServices.ComSubstitutableInterfaceAttribute" 1127 #define INTEROP_COMSUBSTITUTABLEINTERFACE_TYPE "System.Runtime.InteropServices.ComSubstitutableInterfaceAttribute" 1128 #define INTEROP_COMSUBSTITUTABLEINTERFACE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1129 #define INTEROP_COMUNREGISTERFUNCTION_TYPE_W L"System.Runtime.InteropServices.ComUnregisterFunctionAttribute" 1130 #define INTEROP_COMUNREGISTERFUNCTION_TYPE "System.Runtime.InteropServices.ComUnregisterFunctionAttribute" 1131 #define INTEROP_COMUNREGISTERFUNCTION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1132 #define INTEROP_COMVISIBLE_TYPE_W L"System.Runtime.InteropServices.ComVisibleAttribute" 1133 #define INTEROP_COMVISIBLE_TYPE "System.Runtime.InteropServices.ComVisibleAttribute" 1134 #define INTEROP_COMVISIBLE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_BOOLEAN} 1135 #define INTEROP_DATETIMEVALUE_TYPE_W L"System.Runtime.CompilerServices.DateTimeConstantAttribute" 1136 #define INTEROP_DATETIMEVALUE_TYPE "System.Runtime.CompilerServices.DateTimeConstantAttribute" 1137 #define INTEROP_DATETIMEVALUE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I8} 1138 #define INTEROP_DECIMALVALUE_TYPE_W L"System.Runtime.CompilerServices.DecimalConstantAttribute" 1139 #define INTEROP_DECIMALVALUE_TYPE "System.Runtime.CompilerServices.DecimalConstantAttribute" 1140 #define INTEROP_DECIMALVALUE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 5, ELEMENT_TYPE_VOID, ELEMENT_TYPE_U1, ELEMENT_TYPE_U1, ELEMENT_TYPE_U4, ELEMENT_TYPE_U4, ELEMENT_TYPE_U4} 1141 #define INTEROP_DEFAULTMEMBER_TYPE_W L"System.Reflection.DefaultMemberAttribute" 1142 #define INTEROP_DEFAULTMEMBER_TYPE "System.Reflection.DefaultMemberAttribute" 1143 #define INTEROP_DEFAULTMEMBER_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} 1144 #define INTEROP_DISPID_TYPE_W L"System.Runtime.InteropServices.DispIdAttribute" 1145 #define INTEROP_DISPID_TYPE "System.Runtime.InteropServices.DispIdAttribute" 1146 #define INTEROP_DISPID_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I4} 1147 #define INTEROP_GUID_TYPE_W L"System.Runtime.InteropServices.GuidAttribute" 1148 #define INTEROP_GUID_TYPE "System.Runtime.InteropServices.GuidAttribute" 1149 #define INTEROP_GUID_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} 1150 #define INTEROP_IDISPATCHIMPL_TYPE_W L"System.Runtime.InteropServices.IDispatchImplAttribute" 1151 #define INTEROP_IDISPATCHIMPL_TYPE "System.Runtime.InteropServices.IDispatchImplAttribute" 1152 #define INTEROP_IDISPATCHIMPL_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} 1153 #define INTEROP_IDISPATCHVALUE_TYPE_W L"System.Runtime.CompilerServices.IDispatchConstantAttribute" 1154 #define INTEROP_IDISPATCHVALUE_TYPE "System.Runtime.CompilerServices.IDispatchConstantAttribute" 1155 #define INTEROP_IDISPATCHVALUE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1156 #define INTEROP_IMPORTEDFROMTYPELIB_TYPE_W L"System.Runtime.InteropServices.ImportedFromTypeLibAttribute" 1157 #define INTEROP_IMPORTEDFROMTYPELIB_TYPE "System.Runtime.InteropServices.ImportedFromTypeLibAttribute" 1158 #define INTEROP_IMPORTEDFROMTYPELIB_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} 1159 #define INTEROP_IN_TYPE_W L"System.Runtime.InteropServices.InAttribute" 1160 #define INTEROP_IN_TYPE "System.Runtime.InteropServices.InAttribute" 1161 #define INTEROP_IN_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1162 #define INTEROP_INTERFACETYPE_TYPE_W L"System.Runtime.InteropServices.InterfaceTypeAttribute" 1163 #define INTEROP_INTERFACETYPE_TYPE "System.Runtime.InteropServices.InterfaceTypeAttribute" 1164 #define INTEROP_INTERFACETYPE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} 1165 #define INTEROP_IUNKNOWNVALUE_TYPE_W L"System.Runtime.CompilerServices.IUnknownConstantAttribute" 1166 #define INTEROP_IUNKNOWNVALUE_TYPE "System.Runtime.CompilerServices.IUnknownConstantAttribute" 1167 #define INTEROP_IUNKNOWNVALUE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1168 #define INTEROP_LCIDCONVERSION_TYPE_W L"System.Runtime.InteropServices.LCIDConversionAttribute" 1169 #define INTEROP_LCIDCONVERSION_TYPE "System.Runtime.InteropServices.LCIDConversionAttribute" 1170 #define INTEROP_LCIDCONVERSION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I4} 1171 #define INTEROP_MARSHALAS_TYPE_W L"System.Runtime.InteropServices.MarshalAsAttribute" 1172 #define INTEROP_MARSHALAS_TYPE "System.Runtime.InteropServices.MarshalAsAttribute" 1173 #define INTEROP_MARSHALAS_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} 1174 #define INTEROP_OUT_TYPE_W L"System.Runtime.InteropServices.OutAttribute" 1175 #define INTEROP_OUT_TYPE "System.Runtime.InteropServices.OutAttribute" 1176 #define INTEROP_OUT_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1177 #define INTEROP_PARAMARRAY_TYPE_W L"System.ParamArrayAttribute" 1178 #define INTEROP_PARAMARRAY_TYPE "System.ParamArrayAttribute" 1179 #define INTEROP_PARAMARRAY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1180 #define INTEROP_PRESERVESIG_TYPE_W L"System.Runtime.InteropServices.PreserveSigAttribure" 1181 #define INTEROP_PRESERVESIG_TYPE "System.Runtime.InteropServices.PreserveSigAttribure" 1182 #define INTEROP_PRESERVESIG_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_BOOLEAN} 1183 #define INTEROP_PRIMARYINTEROPASSEMBLY_TYPE_W L"System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute" 1184 #define INTEROP_PRIMARYINTEROPASSEMBLY_TYPE "System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute" 1185 #define INTEROP_PRIMARYINTEROPASSEMBLY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I4, ELEMENT_TYPE_I4} 1186 #define INTEROP_SERIALIZABLE_TYPE_W L"System.SerializableAttribute" 1187 #define INTEROP_SERIALIZABLE_TYPE "System.SerializableAttribute" 1188 #define INTEROP_SERIALIZABLE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1189 #define INTEROP_SETWIN32CONTEXTINIDISPATCHATTRIBUTE_TYPE_W L"System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute" 1190 #define INTEROP_SETWIN32CONTEXTINIDISPATCHATTRIBUTE_TYPE "System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute" 1191 #define INTEROP_SETWIN32CONTEXTINIDISPATCHATTRIBUTE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1192 #define INTEROP_TYPELIBFUNC_TYPE_W L"System.Runtime.InteropServices.TypeLibFuncAttribute" 1193 #define INTEROP_TYPELIBFUNC_TYPE "System.Runtime.InteropServices.TypeLibFuncAttribute" 1194 #define INTEROP_TYPELIBIMPORTCLASS_TYPE_W L"System.Runtime.InteropServices.TypeLibImportClassAttribute" 1195 #define INTEROP_TYPELIBIMPORTCLASS_TYPE "System.Runtime.InteropServices.TypeLibImportClassAttribute" 1196 #define INTEROP_TYPELIBFUNC_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} 1197 #define INTEROP_TYPELIBTYPE_TYPE_W L"System.Runtime.InteropServices.TypeLibTypeAttribute" 1198 #define INTEROP_TYPELIBTYPE_TYPE "System.Runtime.InteropServices.TypeLibTypeAttribute" 1199 #define INTEROP_TYPELIBTYPE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} 1200 #define INTEROP_TYPELIBVAR_TYPE_W L"System.Runtime.InteropServices.TypeLibVarAttribute" 1201 #define INTEROP_TYPELIBVAR_TYPE "System.Runtime.InteropServices.TypeLibVarAttribute" 1202 #define INTEROP_TYPELIBVAR_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} 1203 #define INTEROP_TYPELIBVERSION_TYPE_W L"System.Runtime.InteropServices.TypeLibVersionAttribute" 1204 #define INTEROP_TYPELIBVERSION_TYPE "System.Runtime.InteropServices.TypeLibVersionAttribute" 1205 #define INTEROP_TYPELIBVERSION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2, ELEMENT_TYPE_I2} 1206 1207 #define FORWARD_INTEROP_STUB_METHOD_TYPE_W L"System.Runtime.InteropServices.ManagedToNativeComInteropStubAttribute" 1208 #define FORWARD_INTEROP_STUB_METHOD_TYPE "System.Runtime.InteropServices.ManagedToNativeComInteropStubAttribute" 1209 1210 #define FRIEND_ACCESS_ALLOWED_ATTRIBUTE_TYPE_W L"System.Runtime.CompilerServices.FriendAccessAllowedAttribute" 1211 #define FRIEND_ACCESS_ALLOWED_ATTRIBUTE_TYPE "System.Runtime.CompilerServices.FriendAccessAllowedAttribute" 1212 #define FRIEND_ACCESS_ALLOWED_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1213 #define FRIEND_ASSEMBLY_TYPE_W L"System.Runtime.CompilerServices.InternalsVisibleToAttribute" 1214 #define FRIEND_ASSEMBLY_TYPE "System.Runtime.CompilerServices.InternalsVisibleToAttribute" 1215 #define FRIEND_ASSEMBLY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING, ELEMENT_TYPE_BOOLEAN} 1216 1217 #define DEFAULTDEPENDENCY_TYPE_W L"System.Runtime.CompilerServices.DefaultDependencyAttribute" 1218 #define DEFAULTDEPENDENCY_TYPE "System.Runtime.CompilerServices.DefaultDependencyAttribute" 1219 1220 #define DEFAULTDOMAIN_LOADEROPTIMIZATION_TYPE_W L"System.LoaderOptimizationAttribute" 1221 #define DEFAULTDOMAIN_LOADEROPTIMIZATION_TYPE "System.LoaderOptimizationAttribute" 1222 #define DEFAULTDOMAIN_LOADEROPTIMIZATION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I1} 1223 #define DEFAULTDOMAIN_MTA_TYPE_W L"System.MTAThreadAttribute" 1224 #define DEFAULTDOMAIN_MTA_TYPE "System.MTAThreadAttribute" 1225 #define DEFAULTDOMAIN_MTA_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1226 #define DEFAULTDOMAIN_STA_TYPE_W L"System.STAThreadAttribute" 1227 #define DEFAULTDOMAIN_STA_TYPE "System.STAThreadAttribute" 1228 #define DEFAULTDOMAIN_STA_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} 1229 1230 #define DEPENDENCY_TYPE_W L"System.Runtime.CompilerServices.DependencyAttribute" 1231 #define DEPENDENCY_TYPE "System.Runtime.CompilerServices.DependencyAttribute" 1232 1233 #define RUNTIMECOMPATIBILITY_TYPE_W L"System.Runtime.CompilerServices.RuntimeCompatibilityAttribute" 1234 #define RUNTIMECOMPATIBILITY_TYPE "System.Runtime.CompilerServices.RuntimeCompatibilityAttribute" 1235 1236 #define TARGET_FRAMEWORK_TYPE_W L"System.Runtime.Versioning.TargetFrameworkAttribute" 1237 #define TARGET_FRAMEWORK_TYPE "System.Runtime.Versioning.TargetFrameworkAttribute" 1238 1239 #define TARGETEDPATCHBAND_W L"System.Runtime.AssemblyTargetedPatchBandAttribute" 1240 #define TARGETEDPATCHBAND "System.Runtime.AssemblyTargetedPatchBandAttribute" 1241 #define TARGETEDPATCHOPTOUT_W L"System.Runtime.TargetedPatchingOptOutAttribute" 1242 #define TARGETEDPATCHOPTOUT "System.Runtime.TargetedPatchingOptOutAttribute" 1243 1244 #define COMPILATIONRELAXATIONS_TYPE_W L"System.Runtime.CompilerServices.CompilationRelaxationsAttribute" 1245 #define COMPILATIONRELAXATIONS_TYPE "System.Runtime.CompilerServices.CompilationRelaxationsAttribute" 1246 1247 #ifdef __cplusplus 1248 } 1249 #endif 1250 1251 #endif 1252