| 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 |