/** * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER within this package. */ #ifndef __CORHDR_H__ #define __CORHDR_H__ #ifdef __cplusplus extern "C" { #endif typedef enum CorTypeAttr { tdVisibilityMask = 0x7, tdNotPublic = 0x0, tdPublic = 0x1, tdNestedPublic = 0x2, tdNestedPrivate = 0x3, tdNestedFamily = 0x4, tdNestedAssembly = 0x5, tdNestedFamANDAssem = 0x6, tdNestedFamORAssem = 0x7, tdLayoutMask = 0x18, tdAutoLayout = 0x0, tdSequentialLayout = 0x8, tdExplicitLayout = 0x10, tdClassSemanticsMask = 0x20, tdClass = 0x0, tdInterface = 0x20, tdAbstract = 0x80, tdSealed = 0x100, tdSpecialName = 0x400, tdImport = 0x1000, tdSerializable = 0x2000, tdWindowsRuntime = 0x4000, tdStringFormatMask = 0x30000, tdAnsiClass = 0x0, tdUnicodeClass = 0x10000, tdAutoClass = 0x20000, tdCustomFormatClass = 0x30000, tdCustomFormatMask = 0xc00000, tdBeforeFieldInit = 0x100000, tdForwarder = 0x200000, tdReservedMask = 0x40800, tdRTSpecialName = 0x800, tdHasSecurity = 0x40000, } CorTypeAttr; typedef enum CorMethodAttr { mdMemberAccessMask = 0x0007, mdPrivateScope = 0x0, mdPrivate = 0x1, mdFamANDAssem = 0x2, mdAssem = 0x3, mdFamily = 0x4, mdFamORAssem = 0x5, mdPublic = 0x6, mdUnmanagedExport = 0x8, mdStatic = 0x10, mdFinal = 0x20, mdVirtual = 0x40, mdHideBySig = 0x80, mdVtableLayoutMask = 0x100, mdReuseSlot = 0x0, mdNewSlot = 0x100, mdCheckAccessOnOverride = 0x200, mdAbstract = 0x400, mdSpecialName = 0x800, mdPinvokeImpl = 0x2000, mdReservedMask = 0xd000, mdRTSpecialName = 0x1000, mdHasSecurity = 0x4000, mdRequireSecObject = 0x8000 } CorMethodAttr; #ifndef __IMAGE_COR20_HEADER_DEFINED__ #define __IMAGE_COR20_HEADER_DEFINED__ typedef enum ReplacesCorHdrNumericDefines { COMIMAGE_FLAGS_ILONLY = 0x1, COMIMAGE_FLAGS_32BITREQUIRED = 0x2, COMIMAGE_FLAGS_IL_LIBRARY = 0x4, COMIMAGE_FLAGS_STRONGNAMESIGNED = 0x8, COMIMAGE_FLAGS_NATIVE_ENTRYPOINT = 0x10, COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x10000, COMIMAGE_FLAGS_32BITPREFERRED = 0x20000, COR_VERSION_MAJOR_V2 = 2, COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, COR_VERSION_MINOR = 5, COR_DELETED_NAME_LENGTH = 8, COR_VTABLEGAP_NAME_LENGTH = 8, NATIVE_TYPE_MAX_CB = 1, COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 0xff, COR_VTABLE_32BIT = 0x1, COR_VTABLE_64BIT = 0x2, COR_VTABLE_FROM_UNMANAGED = 0x4, COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN = 0x8, COR_VTABLE_CALL_MOST_DERIVED = 0x10, MAX_CLASS_NAME = 1024, MAX_PACKAGE_NAME = 1024 } ReplacesCorHdrNumericDefines; typedef struct IMAGE_COR20_HEADER { DWORD cb; WORD MajorRuntimeVersion; WORD MinorRuntimeVersion; IMAGE_DATA_DIRECTORY MetaData; DWORD Flags; __C89_NAMELESS union { DWORD EntryPointToken; DWORD EntryPointRVA; }; IMAGE_DATA_DIRECTORY Resources; IMAGE_DATA_DIRECTORY StrongNameSignature; IMAGE_DATA_DIRECTORY CodeManagerTable; IMAGE_DATA_DIRECTORY VTableFixups; IMAGE_DATA_DIRECTORY ExportAddressTableJumps; IMAGE_DATA_DIRECTORY ManagedNativeHeader; } IMAGE_COR20_HEADER,*PIMAGE_COR20_HEADER; #else #define COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN 0x8 #define COMIMAGE_FLAGS_32BITPREFERRED 0x20000 #endif typedef enum CorFieldAttr { fdFieldAccessMask = 0x0007, fdPrivateScope = 0x0000, fdPrivate = 0x0001, fdFamANDAssem = 0x0002, fdAssembly = 0x0003, fdFamily = 0x0004, fdFamORAssem = 0x0005, fdPublic = 0x0006, fdStatic = 0x0010, fdInitOnly = 0x0020, fdLiteral = 0x0040, fdNotSerialized = 0x0080, fdHasFieldRVA = 0x0100, fdSpecialName = 0x0200, fdRTSpecialName = 0x0400, fdHasFieldMarshal = 0x1000, fdPinvokeImpl = 0x2000, fdHasDefault = 0x8000, fdReservedMask = 0x9500 } CorFieldAttr; typedef enum CorParamAttr { pdIn = 0x1, pdOut = 0x2, pdOptional = 0x10, pdReservedMask = 0xf000, pdHasDefault = 0x1000, pdHasFieldMarshal = 0x2000, pdUnused = 0xcfe0 } CorParamAttr; typedef enum CorPropertyAttr { prReservedMask = 0xf400, prSpecialName = 0x0200, prRTSpecialName = 0x0400, prHasDefault = 0x1000, prUnused = 0xe9ff } CorPropertyAttr; typedef enum CorEventAttr { evSpecialName = 0x0200, evReservedMask = 0x0400, evRTSpecialName = 0x0400, } CorEventAttr; typedef enum CorMethodSemanticsAttr { msSetter = 0x1, msGetter = 0x2, msOther = 0x4, msAddOn = 0x8, msRemoveOn = 0x10, msFire = 0x20 } CorMethodSemanticsAttr; typedef enum CorDeclSecurity { dclActionMask = 0x001f, dclActionNil = 0x0000, dclRequest = 0x0001, dclDemand = 0x0002, dclAssert = 0x0003, dclDeny = 0x0004, dclPermitOnly = 0x0005, dclLinktimeCheck = 0x0006, dclInheritanceCheck = 0x0007, dclRequestMinimum = 0x0008, dclRequestOptional = 0x0009, dclRequestRefuse = 0x000a, dclPrejitGrant = 0x000b, dclPrejitDenied = 0x000c, dclNonCasDemand = 0x000d, dclNonCasLinkDemand = 0x000e, dclNonCasInheritance = 0x000f, dclMaximumValue = 0x000f } CorDeclSecurity; typedef enum CorMethodImpl { miCodeTypeMask = 0x0003, miIL = 0x0000, miNative = 0x0001, miOPTIL = 0x0002, miRuntime = 0x0003, miManagedMask = 0x0004, miUnmanaged = 0x0004, miManaged = 0x0, miNoInlining = 0x0008, miForwardRef = 0x0010, miSynchronized = 0x0020, miNoOptimization = 0x0040, miPreserveSig = 0x0080, miAggressiveInlining = 0x0100, miInternalCall = 0x1000, miUserMask = miManagedMask | miForwardRef | miPreserveSig | miInternalCall | miSynchronized | miNoInlining | miAggressiveInlining | miNoOptimization, miMaxMethodImplVal = 0xffff } CorMethodImpl; typedef enum CorPinvokeMap { pmNoMangle = 0x0001, pmCharSetMask = 0x0006, pmCharSetNotSpec = 0x0, pmCharSetAnsi = 0x0002, pmCharSetUnicode = 0x0004, pmCharSetAuto = 0x0006, pmBestFitMask = 0x0030, pmBestFitUseAssem = 0x0, pmBestFitEnabled = 0x0010, pmBestFitDisabled = 0x0020, pmSupportsLastError = 0x0040, pmCallConvMask = 0x0700, pmCallConvWinapi = 0x0100, pmCallConvCdecl = 0x0200, pmCallConvStdcall = 0x0300, pmCallConvThiscall = 0x0400, pmCallConvFastcall = 0x0500, pmThrowOnUnmappableCharMask = 0x3000, pmThrowOnUnmappableCharUseAssem = 0x0, pmThrowOnUnmappableCharEnabled = 0x1000, pmThrowOnUnmappableCharDisabled = 0x2000, pmMaxValue = 0xffff } CorPinvokeMap; typedef enum CorAssemblyFlags { afPublicKey = 0x0001, afPA_Mask = 0x0070, afPA_FullMask = 0x00f0, afPA_None = 0x0, afPA_MSIL = 0x0010, afPA_x86 = 0x0020, afPA_IA64 = 0x0030, afPA_AMD64 = 0x0040, afPA_ARM = 0x0050, afPA_NoPlatform = 0x0070, afPA_Specified = 0x0080, afPA_Shift = 0x0004, afRetargetable = 0x0100, afContentType_Mask = 0x0e00, afContentType_Default = 0x0, afContentType_WindowsRuntime = 0x0200, afEnableJITcompileTracking = 0x8000, afDisableJITcompileOptimizer = 0x4000 } CorAssemblyFlags; typedef enum CorManifestResourceFlags { mrVisibilityMask = 0x0007, mrPublic = 0x0001, mrPrivate = 0x0002, } CorManifestResourceFlags; typedef enum CorFileFlags { ffContainsMetaData = 0x0000, ffContainsNoMetaData = 0x0001, } CorFileFlags; typedef enum CorPEKind { peNot = 0x00000000, peILonly = 0x00000001, pe32BitRequired=0x00000002, pe32Plus = 0x00000004, pe32Unmanaged=0x00000008, pe32BitPreferred=0x00000010 } CorPEKind; typedef enum CorGenericParamAttr { gpVarianceMask = 0x0003, gpNonVariant = 0x0000, gpCovariant = 0x0001, gpContravariant = 0x0002, gpSpecialConstraintMask = 0x001c, gpNoSpecialConstraint = 0x0000, gpReferenceTypeConstraint = 0x0004, gpNotNullableValueTypeConstraint = 0x0008, gpDefaultConstructorConstraint = 0x0010 } CorGenericParamAttr; typedef enum CorElementType { ELEMENT_TYPE_END = 0x00, ELEMENT_TYPE_VOID = 0x01, ELEMENT_TYPE_BOOLEAN = 0x02, ELEMENT_TYPE_CHAR = 0x03, ELEMENT_TYPE_I1 = 0x04, ELEMENT_TYPE_U1 = 0x05, ELEMENT_TYPE_I2 = 0x06, ELEMENT_TYPE_U2 = 0x07, ELEMENT_TYPE_I4 = 0x08, ELEMENT_TYPE_U4 = 0x09, ELEMENT_TYPE_I8 = 0x0a, ELEMENT_TYPE_U8 = 0x0b, ELEMENT_TYPE_R4 = 0x0c, ELEMENT_TYPE_R8 = 0x0d, ELEMENT_TYPE_STRING = 0x0e, ELEMENT_TYPE_PTR = 0x0f, ELEMENT_TYPE_BYREF = 0x10, ELEMENT_TYPE_VALUETYPE = 0x11, ELEMENT_TYPE_CLASS = 0x12, ELEMENT_TYPE_VAR = 0x13, ELEMENT_TYPE_ARRAY = 0x14, ELEMENT_TYPE_GENERICINST = 0x15, ELEMENT_TYPE_TYPEDBYREF = 0x16, ELEMENT_TYPE_I = 0x18, ELEMENT_TYPE_U = 0x19, ELEMENT_TYPE_FNPTR = 0x1b, ELEMENT_TYPE_OBJECT = 0x1c, ELEMENT_TYPE_SZARRAY = 0x1d, ELEMENT_TYPE_MVAR = 0x1e, ELEMENT_TYPE_CMOD_REQD = 0x1f, ELEMENT_TYPE_CMOD_OPT = 0x20, ELEMENT_TYPE_INTERNAL = 0x21, ELEMENT_TYPE_MAX = 0x22, ELEMENT_TYPE_MODIFIER = 0x40, ELEMENT_TYPE_SENTINEL = 0x01 | ELEMENT_TYPE_MODIFIER, ELEMENT_TYPE_PINNED = 0x05 | ELEMENT_TYPE_MODIFIER, } CorElementType; typedef enum CorSerializationType { SERIALIZATION_TYPE_UNDEFINED = 0, SERIALIZATION_TYPE_BOOLEAN = ELEMENT_TYPE_BOOLEAN, SERIALIZATION_TYPE_CHAR = ELEMENT_TYPE_CHAR, SERIALIZATION_TYPE_I1 = ELEMENT_TYPE_I1, SERIALIZATION_TYPE_U1 = ELEMENT_TYPE_U1, SERIALIZATION_TYPE_I2 = ELEMENT_TYPE_I2, SERIALIZATION_TYPE_U2 = ELEMENT_TYPE_U2, SERIALIZATION_TYPE_I4 = ELEMENT_TYPE_I4, SERIALIZATION_TYPE_U4 = ELEMENT_TYPE_U4, SERIALIZATION_TYPE_I8 = ELEMENT_TYPE_I8, SERIALIZATION_TYPE_U8 = ELEMENT_TYPE_U8, SERIALIZATION_TYPE_R4 = ELEMENT_TYPE_R4, SERIALIZATION_TYPE_R8 = ELEMENT_TYPE_R8, SERIALIZATION_TYPE_STRING = ELEMENT_TYPE_STRING, SERIALIZATION_TYPE_SZARRAY = ELEMENT_TYPE_SZARRAY, SERIALIZATION_TYPE_TYPE = 0x50, SERIALIZATION_TYPE_TAGGED_OBJECT= 0x51, SERIALIZATION_TYPE_FIELD = 0x53, SERIALIZATION_TYPE_PROPERTY = 0x54, SERIALIZATION_TYPE_ENUM = 0x55 } CorSerializationType; typedef enum CorCallingConvention { IMAGE_CEE_CS_CALLCONV_DEFAULT = 0x0, IMAGE_CEE_CS_CALLCONV_VARARG = 0x5, IMAGE_CEE_CS_CALLCONV_FIELD = 0x6, IMAGE_CEE_CS_CALLCONV_LOCAL_SIG = 0x7, IMAGE_CEE_CS_CALLCONV_PROPERTY = 0x8, IMAGE_CEE_CS_CALLCONV_UNMGD = 0x9, IMAGE_CEE_CS_CALLCONV_GENERICINST = 0xa, IMAGE_CEE_CS_CALLCONV_NATIVEVARARG = 0xb, IMAGE_CEE_CS_CALLCONV_MAX = 0xc, IMAGE_CEE_CS_CALLCONV_MASK = 0x0f, IMAGE_CEE_CS_CALLCONV_HASTHIS = 0x20, IMAGE_CEE_CS_CALLCONV_EXPLICITTHIS = 0x40, IMAGE_CEE_CS_CALLCONV_GENERIC = 0x10, } CorCallingConvention; typedef enum CorUnmanagedCallingConvention { IMAGE_CEE_UNMANAGED_CALLCONV_C = 0x1, IMAGE_CEE_UNMANAGED_CALLCONV_STDCALL = 0x2, IMAGE_CEE_UNMANAGED_CALLCONV_THISCALL = 0x3, IMAGE_CEE_UNMANAGED_CALLCONV_FASTCALL = 0x4, IMAGE_CEE_CS_CALLCONV_C = IMAGE_CEE_UNMANAGED_CALLCONV_C, IMAGE_CEE_CS_CALLCONV_STDCALL = IMAGE_CEE_UNMANAGED_CALLCONV_STDCALL, IMAGE_CEE_CS_CALLCONV_THISCALL = IMAGE_CEE_UNMANAGED_CALLCONV_THISCALL, IMAGE_CEE_CS_CALLCONV_FASTCALL = IMAGE_CEE_UNMANAGED_CALLCONV_FASTCALL, } CorUnmanagedCallingConvention; typedef enum CorArgType { IMAGE_CEE_CS_END = 0x0, IMAGE_CEE_CS_VOID = 0x1, IMAGE_CEE_CS_I4 = 0x2, IMAGE_CEE_CS_I8 = 0x3, IMAGE_CEE_CS_R4 = 0x4, IMAGE_CEE_CS_R8 = 0x5, IMAGE_CEE_CS_PTR = 0x6, IMAGE_CEE_CS_OBJECT = 0x7, IMAGE_CEE_CS_STRUCT4 = 0x8, IMAGE_CEE_CS_STRUCT32 = 0x9, IMAGE_CEE_CS_BYVALUE = 0xa, } CorArgType; typedef enum CorNativeType { NATIVE_TYPE_END = 0x0, NATIVE_TYPE_VOID = 0x1, NATIVE_TYPE_BOOLEAN = 0x2, NATIVE_TYPE_I1 = 0x3, NATIVE_TYPE_U1 = 0x4, NATIVE_TYPE_I2 = 0x5, NATIVE_TYPE_U2 = 0x6, NATIVE_TYPE_I4 = 0x7, NATIVE_TYPE_U4 = 0x8, NATIVE_TYPE_I8 = 0x9, NATIVE_TYPE_U8 = 0xa, NATIVE_TYPE_R4 = 0xb, NATIVE_TYPE_R8 = 0xc, NATIVE_TYPE_SYSCHAR = 0xd, NATIVE_TYPE_VARIANT = 0xe, NATIVE_TYPE_CURRENCY = 0xf, NATIVE_TYPE_PTR = 0x10, NATIVE_TYPE_DECIMAL = 0x11, NATIVE_TYPE_DATE = 0x12, NATIVE_TYPE_BSTR = 0x13, NATIVE_TYPE_LPSTR = 0x14, NATIVE_TYPE_LPWSTR = 0x15, NATIVE_TYPE_LPTSTR = 0x16, NATIVE_TYPE_FIXEDSYSSTRING = 0x17, NATIVE_TYPE_OBJECTREF = 0x18, NATIVE_TYPE_IUNKNOWN = 0x19, NATIVE_TYPE_IDISPATCH = 0x1a, NATIVE_TYPE_STRUCT = 0x1b, NATIVE_TYPE_INTF = 0x1c, NATIVE_TYPE_SAFEARRAY = 0x1d, NATIVE_TYPE_FIXEDARRAY = 0x1e, NATIVE_TYPE_INT = 0x1f, NATIVE_TYPE_UINT = 0x20, NATIVE_TYPE_NESTEDSTRUCT = 0x21, NATIVE_TYPE_BYVALSTR = 0x22, NATIVE_TYPE_ANSIBSTR = 0x23, NATIVE_TYPE_TBSTR = 0x24, NATIVE_TYPE_VARIANTBOOL = 0x25, NATIVE_TYPE_FUNC = 0x26, NATIVE_TYPE_ASANY = 0x28, NATIVE_TYPE_ARRAY = 0x2a, NATIVE_TYPE_LPSTRUCT = 0x2b, NATIVE_TYPE_CUSTOMMARSHALER = 0x2c, NATIVE_TYPE_ERROR = 0x2d, NATIVE_TYPE_IINSPECTABLE = 0x2e, NATIVE_TYPE_HSTRING = 0x2f, NATIVE_TYPE_MAX = 0x50 } CorNativeType; typedef enum CorDescrGroupMethodType { DESCR_GROUP_METHODDEF = 0, DESCR_GROUP_METHODIMPL = 1 } CorDescrGroupMethodType; typedef enum CorILMethodSect { CorILMethod_Sect_KindMask = 0x3f, CorILMethod_Sect_Reserved = 0, CorILMethod_Sect_EHTable = 1, CorILMethod_Sect_OptILTable = 2, CorILMethod_Sect_FatFormat = 0x40, CorILMethod_Sect_MoreSects = 0x80 } CorILMethodSect; typedef enum CorILMethodFlags { CorILMethod_InitLocals = 0x0010, CorILMethod_MoreSects = 0x0008, CorILMethod_CompressedIL = 0x0040, CorILMethod_FormatShift = 3, CorILMethod_FormatMask = 0x0007, CorILMethod_SmallFormat = 0x0, CorILMethod_TinyFormat = 0x0002, CorILMethod_FatFormat = 0x0003, CorILMethod_TinyFormat1 = 0x0006, } CorILMethodFlags; typedef enum CorExceptionFlag { COR_ILEXCEPTION_CLAUSE_NONE, COR_ILEXCEPTION_CLAUSE_OFFSETLEN = 0x0, COR_ILEXCEPTION_CLAUSE_DEPRECATED = 0x0, COR_ILEXCEPTION_CLAUSE_FILTER = 0x1, COR_ILEXCEPTION_CLAUSE_FINALLY = 0x2, COR_ILEXCEPTION_CLAUSE_FAULT = 0x4, COR_ILEXCEPTION_CLAUSE_DUPLICATED = 0x8 } CorExceptionFlag; typedef enum CorCheckDuplicatesFor { MDDupAll = 0xffffffff, MDDupENC = MDDupAll, MDNoDupChecks = 0x00000000, MDDupTypeDef = 0x00000001, MDDupInterfaceImpl = 0x00000002, MDDupMethodDef = 0x00000004, MDDupTypeRef = 0x00000008, MDDupMemberRef = 0x00000010, MDDupCustomAttribute = 0x00000020, MDDupParamDef = 0x00000040, MDDupPermission = 0x00000080, MDDupProperty = 0x00000100, MDDupEvent = 0x00000200, MDDupFieldDef = 0x00000400, MDDupSignature = 0x00000800, MDDupModuleRef = 0x00001000, MDDupTypeSpec = 0x00002000, MDDupImplMap = 0x00004000, MDDupAssemblyRef = 0x00008000, MDDupFile = 0x00010000, MDDupExportedType = 0x00020000, MDDupManifestResource = 0x00040000, MDDupGenericParam = 0x00080000, MDDupMethodSpec = 0x00100000, MDDupGenericParamConstraint = 0x00200000, MDDupAssembly = 0x10000000, MDDupDefault = MDNoDupChecks | MDDupTypeRef | MDDupMemberRef | MDDupSignature | MDDupTypeSpec | MDDupMethodSpec } CorCheckDuplicatesFor; typedef enum CorRefToDefCheck { MDRefToDefDefault = 0x00000003, MDRefToDefAll = 0xffffffff, MDRefToDefNone = 0x00000000, MDTypeRefToDef = 0x00000001, MDMemberRefToDef = 0x00000002 } CorRefToDefCheck; typedef enum CorNotificationForTokenMovement { MDNotifyDefault = 0x0000000f, MDNotifyAll = 0xffffffff, MDNotifyNone = 0x00000000, MDNotifyMethodDef = 0x00000001, MDNotifyMemberRef = 0x00000002, MDNotifyFieldDef = 0x00000004, MDNotifyTypeRef = 0x00000008, MDNotifyTypeDef = 0x00000010, MDNotifyParamDef = 0x00000020, MDNotifyInterfaceImpl = 0x00000040, MDNotifyProperty = 0x00000080, MDNotifyEvent = 0x00000100, MDNotifySignature = 0x00000200, MDNotifyTypeSpec = 0x00000400, MDNotifyCustomAttribute = 0x00000800, MDNotifySecurityValue = 0x00001000, MDNotifyPermission = 0x00002000, MDNotifyModuleRef = 0x00004000, MDNotifyNameSpace = 0x00008000, MDNotifyAssemblyRef = 0x01000000, MDNotifyFile = 0x02000000, MDNotifyExportedType = 0x04000000, MDNotifyResource = 0x08000000 } CorNotificationForTokenMovement; typedef enum CorSetENC { MDSetENCOn = 0x00000001, MDSetENCOff = 0x00000002, MDUpdateENC = 0x00000001, MDUpdateFull = 0x00000002, MDUpdateExtension = 0x00000003, MDUpdateIncremental = 0x00000004, MDUpdateDelta = 0x00000005, MDUpdateMask = 0x00000007, } CorSetENC; typedef enum CorErrorIfEmitOutOfOrder { MDErrorOutOfOrderDefault = 0x00000000, MDErrorOutOfOrderNone = 0x00000000, MDErrorOutOfOrderAll = 0xffffffff, MDMethodOutOfOrder = 0x00000001, MDFieldOutOfOrder = 0x00000002, MDParamOutOfOrder = 0x00000004, MDPropertyOutOfOrder = 0x00000008, MDEventOutOfOrder = 0x00000010, } CorErrorIfEmitOutOfOrder; typedef enum CorImportOptions { MDImportOptionDefault = 0x00000000, MDImportOptionAll = 0xffffffff, MDImportOptionAllTypeDefs = 0x00000001, MDImportOptionAllMethodDefs = 0x00000002, MDImportOptionAllFieldDefs = 0x00000004, MDImportOptionAllProperties = 0x00000008, MDImportOptionAllEvents = 0x00000010, MDImportOptionAllCustomAttributes = 0x00000020, MDImportOptionAllExportedTypes = 0x00000040 } CorImportOptions; typedef enum CorThreadSafetyOptions { MDThreadSafetyDefault = 0x00000000, MDThreadSafetyOff = 0x00000000, MDThreadSafetyOn = 0x00000001 } CorThreadSafetyOptions; typedef enum CorLinkerOptions { MDAssembly = 0x00000000, MDNetModule = 0x00000001 } CorLinkerOptions; typedef enum MergeFlags { MergeFlagsNone = 0, MergeManifest = 0x00000001, DropMemberRefCAs = 0x00000002, NoDupCheck = 0x00000004, MergeExportedTypes = 0x00000008 } MergeFlags; typedef enum CorLocalRefPreservation { MDPreserveLocalRefsNone = 0x00000000, MDPreserveLocalTypeRef = 0x00000001, MDPreserveLocalMemberRef = 0x00000002 } CorLocalRefPreservation; typedef enum CorTokenType { mdtModule = 0x00000000, mdtTypeRef = 0x01000000, mdtTypeDef = 0x02000000, mdtFieldDef = 0x04000000, mdtMethodDef = 0x06000000, mdtParamDef = 0x08000000, mdtInterfaceImpl = 0x09000000, mdtMemberRef = 0x0a000000, mdtCustomAttribute = 0x0c000000, mdtPermission = 0x0e000000, mdtSignature = 0x11000000, mdtEvent = 0x14000000, mdtProperty = 0x17000000, mdtMethodImpl = 0x19000000, mdtModuleRef = 0x1a000000, mdtTypeSpec = 0x1b000000, mdtAssembly = 0x20000000, mdtAssemblyRef = 0x23000000, mdtFile = 0x26000000, mdtExportedType = 0x27000000, mdtManifestResource = 0x28000000, mdtGenericParam = 0x2a000000, mdtMethodSpec = 0x2b000000, mdtGenericParamConstraint = 0x2c000000, mdtString = 0x70000000, mdtName = 0x71000000, mdtBaseType = 0x72000000, } CorTokenType; typedef enum CorOpenFlags { ofReadWriteMask = 0x00000001, ofRead = 0x00000000, ofWrite = 0x00000001, ofCopyMemory = 0x00000002, ofReadOnly = 0x00000010, ofTakeOwnership = 0x00000020, ofNoTypeLib = 0x00000080, ofNoTransform = 0x00001000, ofReserved1 = 0x00000100, ofReserved2 = 0x00000200, ofReserved3 = 0x00000400, ofReserved = 0xffffef40 } CorOpenFlags; typedef enum CorAttributeTargets { catAssembly = 0x0001, catModule = 0x0002, catClass = 0x0004, catStruct = 0x0008, catEnum = 0x0010, catConstructor = 0x0020, catMethod = 0x0040, catProperty = 0x0080, catField = 0x0100, catEvent = 0x0200, catInterface = 0x0400, catParameter = 0x0800, catDelegate = 0x1000, catGenericParameter = 0x4000, catAll = catAssembly | catModule | catClass | catStruct | catEnum | catConstructor | catMethod | catProperty | catField | catEvent | catInterface | catParameter | catDelegate | catGenericParameter, catClassMembers = catClass | catStruct | catEnum | catConstructor | catMethod | catProperty | catField | catEvent | catDelegate | catInterface, } CorAttributeTargets; typedef enum CorFileMapping { fmFlat = 0, fmExecutableImage = 1 } CorFileMapping; typedef enum CompilationRelaxationsEnum { CompilationRelaxations_NoStringInterning = 0x8 } CompilationRelaxationEnum; typedef enum NGenHintEnum { NGenDefault = 0x0, NGenEager = 0x1, NGenLazy = 0x2, NGenNever = 0x3 } NGenHintEnum; typedef enum LoadHintEnum { LoadDefault = 0x0, LoadAlways = 0x01, LoadSometimes = 0x2, LoadNever = 0x3 } LoadHintEnum; #ifndef _CORSAVESIZE_DEFINED_ #define _CORSAVESIZE_DEFINED_ typedef enum CorSaveSize { cssAccurate = 0x0000, cssQuick = 0x0001, cssDiscardTransientCAs = 0x0002 } CorSaveSize; #endif typedef enum NativeTypeArrayFlags { ntaSizeParamIndexSpecified = 0x0001, ntaReserved = 0xfffe } NativeTypeArrayFlags; typedef LPVOID mdScope; typedef ULONG32 mdToken; typedef mdToken mdModule; typedef mdToken mdTypeRef; typedef mdToken mdTypeDef; typedef mdToken mdFieldDef; typedef mdToken mdMethodDef; typedef mdToken mdParamDef; typedef mdToken mdInterfaceImpl; typedef mdToken mdMemberRef; typedef mdToken mdCustomAttribute; typedef mdToken mdPermission; typedef mdToken mdSignature; typedef mdToken mdEvent; typedef mdToken mdProperty; typedef mdToken mdModuleRef; typedef mdToken mdAssembly; typedef mdToken mdAssemblyRef; typedef mdToken mdFile; typedef mdToken mdExportedType; typedef mdToken mdManifestResource; typedef mdToken mdTypeSpec; typedef mdToken mdGenericParam; typedef mdToken mdMethodSpec; typedef mdToken mdGenericParamConstraint; typedef mdToken mdString; typedef mdToken mdCPToken; typedef ULONG RID; typedef CorTypeAttr CorRegTypeAttr; typedef void *HCORENUM; typedef unsigned char COR_SIGNATURE; typedef COR_SIGNATURE *PCOR_SIGNATURE; typedef const COR_SIGNATURE *PCCOR_SIGNATURE; typedef const char *MDUTF8CSTR; typedef char *MDUTF8STR; typedef void *PSECURITY_PROPS; typedef void *PSECURITY_VALUE; typedef void **PPSECURITY_PROPS; typedef void **PPSECURITY_VALUE; typedef struct COR_SECATTR { mdMemberRef tkCtor; const void *pCustomAttribute; ULONG cbCustomAttribute; } COR_SECATTR; typedef struct IMAGE_COR_ILMETHOD_SECT_SMALL { BYTE Kind; BYTE DataSize; } IMAGE_COR_ILMETHOD_SECT_SMALL; typedef struct IMAGE_COR_ILMETHOD_SECT_FAT { unsigned int Kind : 8; unsigned int DataSize : 24; } IMAGE_COR_ILMETHOD_SECT_FAT; typedef struct IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT { CorExceptionFlag Flags; DWORD TryOffset; DWORD TryLength; DWORD HandlerOffset; DWORD HandlerLength; __C89_NAMELESS union { DWORD ClassToken; DWORD FilterOffset; }; } IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT; typedef struct IMAGE_COR_ILMETHOD_SECT_EH_FAT { IMAGE_COR_ILMETHOD_SECT_FAT SectFat; IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_FAT Clauses[1]; } IMAGE_COR_ILMETHOD_SECT_EH_FAT; typedef struct IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL { unsigned int Flags : 16; unsigned int TryOffset : 16; unsigned int TryLength : 8; unsigned int HandlerOffset : 16; unsigned int HandlerLength : 8; __C89_NAMELESS union { DWORD ClassToken; DWORD FilterOffset; }; } IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL; typedef struct IMAGE_COR_ILMETHOD_SECT_EH_SMALL { IMAGE_COR_ILMETHOD_SECT_SMALL SectSmall; WORD Reserved; IMAGE_COR_ILMETHOD_SECT_EH_CLAUSE_SMALL Clauses[1]; } IMAGE_COR_ILMETHOD_SECT_EH_SMALL; typedef union IMAGE_COR_ILMETHOD_SECT_EH { IMAGE_COR_ILMETHOD_SECT_EH_SMALL Small; IMAGE_COR_ILMETHOD_SECT_EH_FAT Fat; } IMAGE_COR_ILMETHOD_SECT_EH; typedef struct IMAGE_COR_ILMETHOD_TINY { BYTE Flags_CodeSize; } IMAGE_COR_ILMETHOD_TINY; typedef struct IMAGE_COR_ILMETHOD_FAT { unsigned int Flags : 12; unsigned int Size : 4; unsigned int MaxStack : 16; DWORD CodeSize; mdSignature LocalVarSigTok; } IMAGE_COR_ILMETHOD_FAT; typedef union IMAGE_COR_ILMETHOD { IMAGE_COR_ILMETHOD_TINY Tiny; IMAGE_COR_ILMETHOD_FAT Fat; } IMAGE_COR_ILMETHOD; typedef struct IMAGE_COR_VTABLEFIXUP { ULONG RVA; USHORT Count; USHORT Type; } IMAGE_COR_VTABLEFIXUP; #ifndef _COR_FIELD_OFFSET_ #define _COR_FIELD_OFFSET_ typedef struct COR_FIELD_OFFSET { mdFieldDef ridOfField; ULONG ulOffset; } COR_FIELD_OFFSET; #endif #ifndef IMAGE_DIRECTORY_ENTRY_COMHEADER #define IMAGE_DIRECTORY_ENTRY_COMHEADER 14 #endif #define FRAMEWORK_REGISTRY_KEY "Software\\Microsoft\\.NETFramework" #define FRAMEWORK_REGISTRY_KEY_W L"Software\\Microsoft\\.NETFramework" #ifdef _WIN64 #define USER_FRAMEWORK_REGISTRY_KEY "Software\\Microsoft\\.NETFramework64" #define USER_FRAMEWORK_REGISTRY_KEY_W L"Software\\Microsoft\\.NETFramework64" #else #define USER_FRAMEWORK_REGISTRY_KEY "Software\\Microsoft\\.NETFramework" #define USER_FRAMEWORK_REGISTRY_KEY_W L"Software\\Microsoft\\.NETFramework" #endif #define COR_CTOR_METHOD_NAME ".ctor" #define COR_CTOR_METHOD_NAME_W L".ctor" #define COR_CCTOR_METHOD_NAME ".cctor" #define COR_CCTOR_METHOD_NAME_W L".cctor" #define COR_ENUM_FIELD_NAME "value__" #define COR_ENUM_FIELD_NAME_W L"value__" #define COR_DELETED_NAME_A "_Deleted" #define COR_DELETED_NAME_W L"_Deleted" #define COR_VTABLEGAP_NAME_A "_VtblGap" #define COR_VTABLEGAP_NAME_W L"_VtblGap" #define COR_IS_32BIT_REQUIRED(_FLAGS) (((_FLAGS) & (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED)) == (COMIMAGE_FLAGS_32BITREQUIRED)) #define COR_IS_32BIT_PREFERRED(_FLAGS) (((_FLAGS) & (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED)) == (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED)) #define COR_SET_32BIT_REQUIRED(_FLAGS) do { _FLAGS = (_FLAGS & ~COMIMAGE_FLAGS_32BITPREFERRED) | COMIMAGE_FLAGS_32BITREQUIRED; } while (0) #define COR_SET_32BIT_PREFERRED(_FLAGS) do { _FLAGS |= COMIMAGE_FLAGS_32BITPREFERRED | COMIMAGE_FLAGS_32BITREQUIRED; } while (0) #define COR_CLEAR_32BIT_REQUIRED(_flagsfield) do { _FLAGS &= ~ (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED); } while (0) #define COR_CLEAR_32BIT_PREFERRED(_FLAGS) do { _FLAGS &= ~ (COMIMAGE_FLAGS_32BITREQUIRED | COMIMAGE_FLAGS_32BITPREFERRED); } while (0) #define COR_IS_METHOD_MANAGED_IL(flags) ((flags & 0xf) == (miIL | miManaged)) #define COR_IS_METHOD_MANAGED_OPTIL(flags) ((flags & 0xf) == (miOPTIL | miManaged)) #define COR_IS_METHOD_MANAGED_NATIVE(flags) ((flags & 0xf) == (miNative | miManaged)) #define COR_IS_METHOD_UNMANAGED_NATIVE(flags) ((flags & 0xf) == (miNative | miUnmanaged)) #define CMOD_CALLCONV_NAMESPACE_OLD "System.Runtime.InteropServices" #define CMOD_CALLCONV_NAMESPACE "System.Runtime.CompilerServices" #define CMOD_CALLCONV_NAME_CDECL "CallConvCdecl" #define CMOD_CALLCONV_NAME_STDCALL "CallConvStdcall" #define CMOD_CALLCONV_NAME_THISCALL "CallConvThiscall" #define CMOD_CALLCONV_NAME_FASTCALL "CallConvFastcall" #define IsDeletedName(strName) (strncmp (strName, COR_DELETED_NAME_A, COR_DELETED_NAME_LENGTH) == 0) #define IsVtblGapName(strName) (strncmp (strName, COR_VTABLEGAP_NAME_A, COR_VTABLEGAP_NAME_LENGTH) == 0) #define IsTdNotPublic(x) (((x) & tdVisibilityMask) == tdNotPublic) #define IsTdPublic(x) (((x) & tdVisibilityMask) == tdPublic) #define IsTdNestedPublic(x) (((x) & tdVisibilityMask) == tdNestedPublic) #define IsTdNestedPrivate(x) (((x) & tdVisibilityMask) == tdNestedPrivate) #define IsTdNestedFamily(x) (((x) & tdVisibilityMask) == tdNestedFamily) #define IsTdNestedAssembly(x) (((x) & tdVisibilityMask) == tdNestedAssembly) #define IsTdNestedFamANDAssem(x) (((x) & tdVisibilityMask) == tdNestedFamANDAssem) #define IsTdNestedFamORAssem(x) (((x) & tdVisibilityMask) == tdNestedFamORAssem) #define IsTdNested(x) (((x) & tdVisibilityMask) >= tdNestedPublic) #define IsTdAutoLayout(x) (((x) & tdLayoutMask) == tdAutoLayout) #define IsTdSequentialLayout(x) (((x) & tdLayoutMask) == tdSequentialLayout) #define IsTdExplicitLayout(x) (((x) & tdLayoutMask) == tdExplicitLayout) #define IsTdClass(x) (((x) & tdClassSemanticsMask) == tdClass) #define IsTdInterface(x) (((x) & tdClassSemanticsMask) == tdInterface) #define IsTdAbstract(x) ((x) & tdAbstract) #define IsTdSealed(x) ((x) & tdSealed) #define IsTdSpecialName(x) ((x) & tdSpecialName) #define IsTdImport(x) ((x) & tdImport) #define IsTdSerializable(x) ((x) & tdSerializable) #define IsTdWindowsRuntime(x) ((x) & tdWindowsRuntime) #define IsTdAnsiClass(x) (((x) & tdStringFormatMask) == tdAnsiClass) #define IsTdUnicodeClass(x) (((x) & tdStringFormatMask) == tdUnicodeClass) #define IsTdAutoClass(x) (((x) & tdStringFormatMask) == tdAutoClass) #define IsTdCustomFormatClass(x) (((x) & tdStringFormatMask) == tdCustomFormatClass) #define IsTdBeforeFieldInit(x) ((x) & tdBeforeFieldInit) #define IsTdForwarder(x) ((x) & tdForwarder) #define IsTdRTSpecialName(x) ((x) & tdRTSpecialName) #define IsTdHasSecurity(x) ((x) & tdHasSecurity) #define IsMdPrivateScope(x) (((x) & mdMemberAccessMask) == mdPrivateScope) #define IsMdPrivate(x) (((x) & mdMemberAccessMask) == mdPrivate) #define IsMdFamANDAssem(x) (((x) & mdMemberAccessMask) == mdFamANDAssem) #define IsMdAssem(x) (((x) & mdMemberAccessMask) == mdAssem) #define IsMdFamily(x) (((x) & mdMemberAccessMask) == mdFamily) #define IsMdFamORAssem(x) (((x) & mdMemberAccessMask) == mdFamORAssem) #define IsMdPublic(x) (((x) & mdMemberAccessMask) == mdPublic) #define IsMdUnmanagedExport(x) ((x) & mdUnmanagedExport) #define IsMdStatic(x) ((x) & mdStatic) #define IsMdFinal(x) ((x) & mdFinal) #define IsMdVirtual(x) ((x) & mdVirtual) #define IsMdHideBySig(x) ((x) & mdHideBySig) #define IsMdReuseSlot(x) (((x) & mdVtableLayoutMask) == mdReuseSlot) #define IsMdNewSlot(x) (((x) & mdVtableLayoutMask) == mdNewSlot) #define IsMdCheckAccessOnOverride(x) ((x) & mdCheckAccessOnOverride) #define IsMdAbstract(x) ((x) & mdAbstract) #define IsMdSpecialName(x) ((x) & mdSpecialName) #define IsMdPinvokeImpl(x) ((x) & mdPinvokeImpl) #define IsMdRTSpecialName(x) ((x) & mdRTSpecialName) #define IsMdInstanceInitializer(x, str) (((x) & mdRTSpecialName) && !strcmp ((str), COR_CTOR_METHOD_NAME)) #define IsMdInstanceInitializerW(x, str) (((x) & mdRTSpecialName) && !wcscmp ((str), COR_CTOR_METHOD_NAME_W)) #define IsMdClassConstructor(x, str) (((x) & mdRTSpecialName) && !strcmp ((str), COR_CCTOR_METHOD_NAME)) #define IsMdClassConstructorW(x, str) (((x) & mdRTSpecialName) && !wcscmp ((str), COR_CCTOR_METHOD_NAME_W)) #define IsMdHasSecurity(x) ((x) & mdHasSecurity) #define IsMdRequireSecObject(x) ((x) & mdRequireSecObject) #define IsFdPrivateScope(x) (((x) & fdFieldAccessMask) == fdPrivateScope) #define IsFdPrivate(x) (((x) & fdFieldAccessMask) == fdPrivate) #define IsFdFamANDAssem(x) (((x) & fdFieldAccessMask) == fdFamANDAssem) #define IsFdAssembly(x) (((x) & fdFieldAccessMask) == fdAssembly) #define IsFdFamily(x) (((x) & fdFieldAccessMask) == fdFamily) #define IsFdFamORAssem(x) (((x) & fdFieldAccessMask) == fdFamORAssem) #define IsFdPublic(x) (((x) & fdFieldAccessMask) == fdPublic) #define IsFdStatic(x) ((x) & fdStatic) #define IsFdInitOnly(x) ((x) & fdInitOnly) #define IsFdLiteral(x) ((x) & fdLiteral) #define IsFdNotSerialized(x) ((x) & fdNotSerialized) #define IsFdHasFieldRVA(x) ((x) & fdHasFieldRVA) #define IsFdSpecialName(x) ((x) & fdSpecialName) #define IsFdRTSpecialName(x) ((x) & fdRTSpecialName) #define IsFdHasFieldMarshal(x) ((x) & fdHasFieldMarshal) #define IsFdPinvokeImpl(x) ((x) & fdPinvokeImpl) #define IsFdHasDefault(x) ((x) & fdHasDefault) #define IsPdIn(x) ((x) & pdIn) #define IsPdOut(x) ((x) & pdOut) #define IsPdOptional(x) ((x) & pdOptional) #define IsPdHasDefault(x) ((x) & pdHasDefault) #define IsPdHasFieldMarshal(x) ((x) & pdHasFieldMarshal) #define IsPrSpecialName(x) ((x) & prSpecialName) #define IsPrRTSpecialName(x) ((x) & prRTSpecialName) #define IsPrHasDefault(x) ((x) & prHasDefault) #define IsEvSpecialName(x) ((x) & evSpecialName) #define IsEvRTSpecialName(x) ((x) & evRTSpecialName) #define IsMsSetter(x) ((x) & msSetter) #define IsMsGetter(x) ((x) & msGetter) #define IsMsOther(x) ((x) & msOther) #define IsMsAddOn(x) ((x) & msAddOn) #define IsMsRemoveOn(x) ((x) & msRemoveOn) #define IsMsFire(x) ((x) & msFire) #define IsDclActionNil(x) (((x) & dclActionMask) == dclActionNil) #define IsDclActionAnyStackModifier(x) ((((x) & dclActionMask) == dclAssert) || (((x) & dclActionMask) == dclDeny) || (((x) & dclActionMask) == dclPermitOnly)) #define IsAssemblyDclAction(x) (((x) >= dclRequestMinimum) && ((x) <= dclRequestRefuse)) #define IsNGenOnlyDclAction(x) (((x) == dclPrejitGrant) || ((x) == dclPrejitDenied)) #define IsMiIL(x) (((x) & miCodeTypeMask) == miIL) #define IsMiNative(x) (((x) & miCodeTypeMask) == miNative) #define IsMiOPTIL(x) (((x) & miCodeTypeMask) == miOPTIL) #define IsMiRuntime(x) (((x) & miCodeTypeMask) == miRuntime) #define IsMiUnmanaged(x) (((x) & miManagedMask) == miUnmanaged) #define IsMiManaged(x) (((x) & miManagedMask) == miManaged) #define IsMiNoInlining(x) ((x) & miNoInlining) #define IsMiForwardRef(x) ((x) & miForwardRef) #define IsMiSynchronized(x) ((x) & miSynchronized) #define IsMiNoOptimization(x) ((x) & miNoOptimization) #define IsMiPreserveSig(x) ((x) & miPreserveSig) #define IsMiAggressiveInlining(x) ((x) & miAggressiveInlining) #define IsMiInternalCall(x) ((x) & miInternalCall) #define IsPmNoMangle(x) ((x) & pmNoMangle) #define IsPmCharSetNotSpec(x) (((x) & pmCharSetMask) == pmCharSetNotSpec) #define IsPmCharSetAnsi(x) (((x) & pmCharSetMask) == pmCharSetAnsi) #define IsPmCharSetUnicode(x) (((x) & pmCharSetMask) == pmCharSetUnicode) #define IsPmCharSetAuto(x) (((x) & pmCharSetMask) == pmCharSetAuto) #define IsPmSupportsLastError(x) ((x) & pmSupportsLastError) #define IsPmCallConvWinapi(x) (((x) & pmCallConvMask) == pmCallConvWinapi) #define IsPmCallConvCdecl(x) (((x) & pmCallConvMask) == pmCallConvCdecl) #define IsPmCallConvStdcall(x) (((x) & pmCallConvMask) == pmCallConvStdcall) #define IsPmCallConvThiscall(x) (((x) & pmCallConvMask) == pmCallConvThiscall) #define IsPmCallConvFastcall(x) (((x) & pmCallConvMask) == pmCallConvFastcall) #define IsPmBestFitEnabled(x) (((x) & pmBestFitMask) == pmBestFitEnabled) #define IsPmBestFitDisabled(x) (((x) & pmBestFitMask) == pmBestFitDisabled) #define IsPmBestFitUseAssem(x) (((x) & pmBestFitMask) == pmBestFitUseAssem) #define IsPmThrowOnUnmappableCharEnabled(x) (((x) & pmThrowOnUnmappableCharMask) == pmThrowOnUnmappableCharEnabled) #define IsPmThrowOnUnmappableCharDisabled(x) (((x) & pmThrowOnUnmappableCharMask) == pmThrowOnUnmappableCharDisabled) #define IsPmThrowOnUnmappableCharUseAssem(x) (((x) & pmThrowOnUnmappableCharMask) == pmThrowOnUnmappableCharUseAssem) #define IsAfRetargetable(x) ((x) & afRetargetable) #define IsAfContentType_Default(x) (((x) & afContentType_Mask) == afContentType_Default) #define IsAfContentType_WindowsRuntime(x) (((x) & afContentType_Mask) == afContentType_WindowsRuntime) #define IsAfPA_MSIL(x) (((x) & afPA_Mask) == afPA_MSIL) #define IsAfPA_x86(x) (((x) & afPA_Mask) == afPA_x86) #define IsAfPA_IA64(x) (((x) & afPA_Mask) == afPA_IA64) #define IsAfPA_AMD64(x) (((x) & afPA_Mask) == afPA_AMD64) #define IsAfPA_ARM(x) (((x) & afPA_Mask) == afPA_ARM) #define IsAfPA_NoPlatform(x) (((x) & afPA_FullMask) == afPA_NoPlatform) #define IsAfPA_Specified(x) ((x) & afPA_Specified) #define PAIndex(x) (((x) & afPA_Mask) >> afPA_Shift) #define PAFlag(x) (((x) << afPA_Shift) & afPA_Mask) #define PrepareForSaving(x) ((x) &(((x) & afPA_Specified) ? ~afPA_Specified : ~afPA_FullMask)) #define IsAfEnableJITcompileTracking(x) ((x) & afEnableJITcompileTracking) #define IsAfDisableJITcompileOptimizer(x) ((x) & afDisableJITcompileOptimizer) #define IsAfPublicKey(x) ((x) & afPublicKey) #define IsAfPublicKeyToken(x) (((x) & afPublicKey) == 0) #define IsMrPublic(x) (((x) & mrVisibilityMask) == mrPublic) #define IsMrPrivate(x) (((x) & mrVisibilityMask) == mrPrivate) #define IsFfContainsMetaData(x) (! ((x) & ffContainsNoMetaData)) #define IsFfContainsNoMetaData(x) ((x) & ffContainsNoMetaData) #define IMAGE_CEE_CS_CALLCONV_INSTANTIATION IMAGE_CEE_CS_CALLCONV_GENERICINST #define IsENCDelta(x) (((x) & MDUpdateMask) == MDUpdateDelta) #define RidToToken(rid, tktype) ((rid) |= (tktype)) #define TokenFromRid(rid, tktype) ((rid) | (tktype)) #define RidFromToken(tk) ((RID) ((tk) & 0x00ffffff)) #define TypeFromToken(tk) ((ULONG32) ((tk) & 0xff000000)) #define IsNilToken(tk) ((RidFromToken (tk)) == 0) #define mdTokenNil ((mdToken)0) #define mdModuleNil ((mdModule)mdtModule) #define mdTypeRefNil ((mdTypeRef)mdtTypeRef) #define mdTypeDefNil ((mdTypeDef)mdtTypeDef) #define mdFieldDefNil ((mdFieldDef)mdtFieldDef) #define mdMethodDefNil ((mdMethodDef)mdtMethodDef) #define mdParamDefNil ((mdParamDef)mdtParamDef) #define mdInterfaceImplNil ((mdInterfaceImpl)mdtInterfaceImpl) #define mdMemberRefNil ((mdMemberRef)mdtMemberRef) #define mdCustomAttributeNil ((mdCustomAttribute)mdtCustomAttribute) #define mdPermissionNil ((mdPermission)mdtPermission) #define mdSignatureNil ((mdSignature)mdtSignature) #define mdEventNil ((mdEvent)mdtEvent) #define mdPropertyNil ((mdProperty)mdtProperty) #define mdModuleRefNil ((mdModuleRef)mdtModuleRef) #define mdTypeSpecNil ((mdTypeSpec)mdtTypeSpec) #define mdAssemblyNil ((mdAssembly)mdtAssembly) #define mdAssemblyRefNil ((mdAssemblyRef)mdtAssemblyRef) #define mdFileNil ((mdFile)mdtFile) #define mdExportedTypeNil ((mdExportedType)mdtExportedType) #define mdManifestResourceNil ((mdManifestResource)mdtManifestResource) #define mdGenericParamNil ((mdGenericParam)mdtGenericParam) #define mdGenericParamConstraintNil ((mdGenericParamConstraint)mdtGenericParamConstraint) #define mdMethodSpecNil ((mdMethodSpec)mdtMethodSpec) #define mdStringNil ((mdString)mdtString) #define IsOfRead(x) (((x) & ofReadWriteMask) == ofRead) #define IsOfReadWrite(x) (((x) & ofReadWriteMask) == ofWrite) #define IsOfCopyMemory(x) ((x) & ofCopyMemory) #define IsOfReadOnly(x) ((x) & ofReadOnly) #define IsOfTakeOwnership(x) ((x) & ofTakeOwnership) #define IsOfReserved(x) (((x) & ofReserved) != 0) #ifndef IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS #define IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS (IMAGE_CEE_CS_CALLCONV_DEFAULT | IMAGE_CEE_CS_CALLCONV_HASTHIS) #endif #define INTEROP_AUTOPROXY_TYPE_W L"System.Runtime.InteropServices.AutomationProxyAttribute" #define INTEROP_AUTOPROXY_TYPE "System.Runtime.InteropServices.AutomationProxyAttribute" #define INTEROP_AUTOPROXY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_BOOLEAN} #define INTEROP_BESTFITMAPPING_TYPE_W L"System.Runtime.InteropServices.BestFitMappingAttribute" #define INTEROP_BESTFITMAPPING_TYPE "System.Runtime.InteropServices.BestFitMappingAttribute" #define INTEROP_BESTFITMAPPING_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_BOOLEAN, ELEMENT_TYPE_BOOLEAN} #define INTEROP_CLASSINTERFACE_TYPE_W L"System.Runtime.InteropServices.ClassInterfaceAttribute" #define INTEROP_CLASSINTERFACE_TYPE "System.Runtime.InteropServices.ClassInterfaceAttribute" #define INTEROP_CLASSINTERFACE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} #define INTEROP_COCLASS_TYPE_W L"System.Runtime.InteropServices.CoClassAttribute" #define INTEROP_COCLASS_TYPE "System.Runtime.InteropServices.CoClassAttribute" #define INTEROP_COMALIASNAME_TYPE_W L"System.Runtime.InteropServices.ComAliasNameAttribute" #define INTEROP_COMALIASNAME_TYPE "System.Runtime.InteropServices.ComAliasNameAttribute" #define INTEROP_COMALIASNAME_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} #define INTEROP_COMCOMPATIBLEVERSION_TYPE_W L"System.Runtime.InteropServices.ComCompatibleVersionAttribute" #define INTEROP_COMCOMPATIBLEVERSION_TYPE "System.Runtime.InteropServices.ComCompatibleVersionAttribute" #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} #define INTEROP_COMCONVERSIONLOSS_TYPE_W L"System.Runtime.InteropServices.ComConversionLossAttribute" #define INTEROP_COMCONVERSIONLOSS_TYPE "System.Runtime.InteropServices.ComConversionLossAttribute" #define INTEROP_COMCONVERSIONLOSS_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_COMDEFAULTINTERFACE_TYPE_W L"System.Runtime.InteropServices.ComDefaultInterfaceAttribute" #define INTEROP_COMDEFAULTINTERFACE_TYPE "System.Runtime.InteropServices.ComDefaultInterfaceAttribute" #define INTEROP_COMEMULATE_TYPE_W L"System.Runtime.InteropServices.ComEmulateAttribute" #define INTEROP_COMEMULATE_TYPE "System.Runtime.InteropServices.ComEmulateAttribute" #define INTEROP_COMEMULATE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} #define INTEROP_COMEVENTINTERFACE_TYPE_W L"System.Runtime.InteropServices.ComEventInterfaceAttribute" #define INTEROP_COMEVENTINTERFACE_TYPE "System.Runtime.InteropServices.ComEventInterfaceAttribute" #define INTEROP_COMIMPORT_TYPE_W L"System.Runtime.InteropServices.ComImportAttribute" #define INTEROP_COMIMPORT_TYPE "System.Runtime.InteropServices.ComImportAttribute" #define INTEROP_COMIMPORT_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_COMREGISTERFUNCTION_TYPE_W L"System.Runtime.InteropServices.ComRegisterFunctionAttribute" #define INTEROP_COMREGISTERFUNCTION_TYPE "System.Runtime.InteropServices.ComRegisterFunctionAttribute" #define INTEROP_COMREGISTERFUNCTION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_COMSOURCEINTERFACES_TYPE_W L"System.Runtime.InteropServices.ComSourceInterfacesAttribute" #define INTEROP_COMSOURCEINTERFACES_TYPE "System.Runtime.InteropServices.ComSourceInterfacesAttribute" #define INTEROP_COMSOURCEINTERFACES_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} #define INTEROP_COMSUBSTITUTABLEINTERFACE_TYPE_W L"System.Runtime.InteropServices.ComSubstitutableInterfaceAttribute" #define INTEROP_COMSUBSTITUTABLEINTERFACE_TYPE "System.Runtime.InteropServices.ComSubstitutableInterfaceAttribute" #define INTEROP_COMSUBSTITUTABLEINTERFACE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_COMUNREGISTERFUNCTION_TYPE_W L"System.Runtime.InteropServices.ComUnregisterFunctionAttribute" #define INTEROP_COMUNREGISTERFUNCTION_TYPE "System.Runtime.InteropServices.ComUnregisterFunctionAttribute" #define INTEROP_COMUNREGISTERFUNCTION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_COMVISIBLE_TYPE_W L"System.Runtime.InteropServices.ComVisibleAttribute" #define INTEROP_COMVISIBLE_TYPE "System.Runtime.InteropServices.ComVisibleAttribute" #define INTEROP_COMVISIBLE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_BOOLEAN} #define INTEROP_DATETIMEVALUE_TYPE_W L"System.Runtime.CompilerServices.DateTimeConstantAttribute" #define INTEROP_DATETIMEVALUE_TYPE "System.Runtime.CompilerServices.DateTimeConstantAttribute" #define INTEROP_DATETIMEVALUE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I8} #define INTEROP_DECIMALVALUE_TYPE_W L"System.Runtime.CompilerServices.DecimalConstantAttribute" #define INTEROP_DECIMALVALUE_TYPE "System.Runtime.CompilerServices.DecimalConstantAttribute" #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} #define INTEROP_DEFAULTMEMBER_TYPE_W L"System.Reflection.DefaultMemberAttribute" #define INTEROP_DEFAULTMEMBER_TYPE "System.Reflection.DefaultMemberAttribute" #define INTEROP_DEFAULTMEMBER_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} #define INTEROP_DISPID_TYPE_W L"System.Runtime.InteropServices.DispIdAttribute" #define INTEROP_DISPID_TYPE "System.Runtime.InteropServices.DispIdAttribute" #define INTEROP_DISPID_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I4} #define INTEROP_GUID_TYPE_W L"System.Runtime.InteropServices.GuidAttribute" #define INTEROP_GUID_TYPE "System.Runtime.InteropServices.GuidAttribute" #define INTEROP_GUID_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} #define INTEROP_IDISPATCHIMPL_TYPE_W L"System.Runtime.InteropServices.IDispatchImplAttribute" #define INTEROP_IDISPATCHIMPL_TYPE "System.Runtime.InteropServices.IDispatchImplAttribute" #define INTEROP_IDISPATCHIMPL_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} #define INTEROP_IDISPATCHVALUE_TYPE_W L"System.Runtime.CompilerServices.IDispatchConstantAttribute" #define INTEROP_IDISPATCHVALUE_TYPE "System.Runtime.CompilerServices.IDispatchConstantAttribute" #define INTEROP_IDISPATCHVALUE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_IMPORTEDFROMTYPELIB_TYPE_W L"System.Runtime.InteropServices.ImportedFromTypeLibAttribute" #define INTEROP_IMPORTEDFROMTYPELIB_TYPE "System.Runtime.InteropServices.ImportedFromTypeLibAttribute" #define INTEROP_IMPORTEDFROMTYPELIB_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING} #define INTEROP_IN_TYPE_W L"System.Runtime.InteropServices.InAttribute" #define INTEROP_IN_TYPE "System.Runtime.InteropServices.InAttribute" #define INTEROP_IN_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_INTERFACETYPE_TYPE_W L"System.Runtime.InteropServices.InterfaceTypeAttribute" #define INTEROP_INTERFACETYPE_TYPE "System.Runtime.InteropServices.InterfaceTypeAttribute" #define INTEROP_INTERFACETYPE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} #define INTEROP_IUNKNOWNVALUE_TYPE_W L"System.Runtime.CompilerServices.IUnknownConstantAttribute" #define INTEROP_IUNKNOWNVALUE_TYPE "System.Runtime.CompilerServices.IUnknownConstantAttribute" #define INTEROP_IUNKNOWNVALUE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_LCIDCONVERSION_TYPE_W L"System.Runtime.InteropServices.LCIDConversionAttribute" #define INTEROP_LCIDCONVERSION_TYPE "System.Runtime.InteropServices.LCIDConversionAttribute" #define INTEROP_LCIDCONVERSION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I4} #define INTEROP_MARSHALAS_TYPE_W L"System.Runtime.InteropServices.MarshalAsAttribute" #define INTEROP_MARSHALAS_TYPE "System.Runtime.InteropServices.MarshalAsAttribute" #define INTEROP_MARSHALAS_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} #define INTEROP_OUT_TYPE_W L"System.Runtime.InteropServices.OutAttribute" #define INTEROP_OUT_TYPE "System.Runtime.InteropServices.OutAttribute" #define INTEROP_OUT_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_PARAMARRAY_TYPE_W L"System.ParamArrayAttribute" #define INTEROP_PARAMARRAY_TYPE "System.ParamArrayAttribute" #define INTEROP_PARAMARRAY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_PRESERVESIG_TYPE_W L"System.Runtime.InteropServices.PreserveSigAttribure" #define INTEROP_PRESERVESIG_TYPE "System.Runtime.InteropServices.PreserveSigAttribure" #define INTEROP_PRESERVESIG_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_BOOLEAN} #define INTEROP_PRIMARYINTEROPASSEMBLY_TYPE_W L"System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute" #define INTEROP_PRIMARYINTEROPASSEMBLY_TYPE "System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute" #define INTEROP_PRIMARYINTEROPASSEMBLY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I4, ELEMENT_TYPE_I4} #define INTEROP_SERIALIZABLE_TYPE_W L"System.SerializableAttribute" #define INTEROP_SERIALIZABLE_TYPE "System.SerializableAttribute" #define INTEROP_SERIALIZABLE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_SETWIN32CONTEXTINIDISPATCHATTRIBUTE_TYPE_W L"System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute" #define INTEROP_SETWIN32CONTEXTINIDISPATCHATTRIBUTE_TYPE "System.Runtime.InteropServices.SetWin32ContextInIDispatchAttribute" #define INTEROP_SETWIN32CONTEXTINIDISPATCHATTRIBUTE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define INTEROP_TYPELIBFUNC_TYPE_W L"System.Runtime.InteropServices.TypeLibFuncAttribute" #define INTEROP_TYPELIBFUNC_TYPE "System.Runtime.InteropServices.TypeLibFuncAttribute" #define INTEROP_TYPELIBIMPORTCLASS_TYPE_W L"System.Runtime.InteropServices.TypeLibImportClassAttribute" #define INTEROP_TYPELIBIMPORTCLASS_TYPE "System.Runtime.InteropServices.TypeLibImportClassAttribute" #define INTEROP_TYPELIBFUNC_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} #define INTEROP_TYPELIBTYPE_TYPE_W L"System.Runtime.InteropServices.TypeLibTypeAttribute" #define INTEROP_TYPELIBTYPE_TYPE "System.Runtime.InteropServices.TypeLibTypeAttribute" #define INTEROP_TYPELIBTYPE_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} #define INTEROP_TYPELIBVAR_TYPE_W L"System.Runtime.InteropServices.TypeLibVarAttribute" #define INTEROP_TYPELIBVAR_TYPE "System.Runtime.InteropServices.TypeLibVarAttribute" #define INTEROP_TYPELIBVAR_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2} #define INTEROP_TYPELIBVERSION_TYPE_W L"System.Runtime.InteropServices.TypeLibVersionAttribute" #define INTEROP_TYPELIBVERSION_TYPE "System.Runtime.InteropServices.TypeLibVersionAttribute" #define INTEROP_TYPELIBVERSION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I2, ELEMENT_TYPE_I2} #define FORWARD_INTEROP_STUB_METHOD_TYPE_W L"System.Runtime.InteropServices.ManagedToNativeComInteropStubAttribute" #define FORWARD_INTEROP_STUB_METHOD_TYPE "System.Runtime.InteropServices.ManagedToNativeComInteropStubAttribute" #define FRIEND_ACCESS_ALLOWED_ATTRIBUTE_TYPE_W L"System.Runtime.CompilerServices.FriendAccessAllowedAttribute" #define FRIEND_ACCESS_ALLOWED_ATTRIBUTE_TYPE "System.Runtime.CompilerServices.FriendAccessAllowedAttribute" #define FRIEND_ACCESS_ALLOWED_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define FRIEND_ASSEMBLY_TYPE_W L"System.Runtime.CompilerServices.InternalsVisibleToAttribute" #define FRIEND_ASSEMBLY_TYPE "System.Runtime.CompilerServices.InternalsVisibleToAttribute" #define FRIEND_ASSEMBLY_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 2, ELEMENT_TYPE_VOID, ELEMENT_TYPE_STRING, ELEMENT_TYPE_BOOLEAN} #define DEFAULTDEPENDENCY_TYPE_W L"System.Runtime.CompilerServices.DefaultDependencyAttribute" #define DEFAULTDEPENDENCY_TYPE "System.Runtime.CompilerServices.DefaultDependencyAttribute" #define DEFAULTDOMAIN_LOADEROPTIMIZATION_TYPE_W L"System.LoaderOptimizationAttribute" #define DEFAULTDOMAIN_LOADEROPTIMIZATION_TYPE "System.LoaderOptimizationAttribute" #define DEFAULTDOMAIN_LOADEROPTIMIZATION_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 1, ELEMENT_TYPE_VOID, ELEMENT_TYPE_I1} #define DEFAULTDOMAIN_MTA_TYPE_W L"System.MTAThreadAttribute" #define DEFAULTDOMAIN_MTA_TYPE "System.MTAThreadAttribute" #define DEFAULTDOMAIN_MTA_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define DEFAULTDOMAIN_STA_TYPE_W L"System.STAThreadAttribute" #define DEFAULTDOMAIN_STA_TYPE "System.STAThreadAttribute" #define DEFAULTDOMAIN_STA_SIG {IMAGE_CEE_CS_CALLCONV_DEFAULT_HASTHIS, 0, ELEMENT_TYPE_VOID} #define DEPENDENCY_TYPE_W L"System.Runtime.CompilerServices.DependencyAttribute" #define DEPENDENCY_TYPE "System.Runtime.CompilerServices.DependencyAttribute" #define RUNTIMECOMPATIBILITY_TYPE_W L"System.Runtime.CompilerServices.RuntimeCompatibilityAttribute" #define RUNTIMECOMPATIBILITY_TYPE "System.Runtime.CompilerServices.RuntimeCompatibilityAttribute" #define TARGET_FRAMEWORK_TYPE_W L"System.Runtime.Versioning.TargetFrameworkAttribute" #define TARGET_FRAMEWORK_TYPE "System.Runtime.Versioning.TargetFrameworkAttribute" #define TARGETEDPATCHBAND_W L"System.Runtime.AssemblyTargetedPatchBandAttribute" #define TARGETEDPATCHBAND "System.Runtime.AssemblyTargetedPatchBandAttribute" #define TARGETEDPATCHOPTOUT_W L"System.Runtime.TargetedPatchingOptOutAttribute" #define TARGETEDPATCHOPTOUT "System.Runtime.TargetedPatchingOptOutAttribute" #define COMPILATIONRELAXATIONS_TYPE_W L"System.Runtime.CompilerServices.CompilationRelaxationsAttribute" #define COMPILATIONRELAXATIONS_TYPE "System.Runtime.CompilerServices.CompilationRelaxationsAttribute" #ifdef __cplusplus } #endif #endif