Table: Entry Types
Type |
Description |
---|---|
BYTE |
Unsigned 1-byte integer |
SHORT |
Signed 2-byte integer |
USHORT |
Unsigned 2-byte integer |
ULONG |
Unsigned 4-byte integer |
RID: <table> |
Record index to <table> |
STRING |
Offset in the #Strings stream |
GUID |
Offset in the #GUID stream |
BLOB |
Offset in the #Blob stream |
<coded_token_type> |
Coded token, such as TypeDefOrRef (see the “Coded Token Types” table at the end of the appendix) |
Table: Module; RID Type: 00; Token Type: 0x00000000; Metadata (MD) Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Generation |
USHORT |
For edit-and-continue |
Name |
STRING |
No longer than 512 bytes |
Mvid |
GUID |
Generated automatically |
EncId |
GUID |
For edit-and-continue |
EncBaseId |
GUID |
For edit-and-continue |
Table: TypeRef; RID Type: 01; Token Type: 0x01000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
ResolutionScope |
ResolutionScope |
-- |
Name |
STRING |
No longer than 1023 bytes |
Namespace |
STRING |
No longer than 1023 bytes |
Table: TypeDef; RID Type: 02; Token Type: 0x02000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Flags |
ULONG |
Validity mask: 0x00177DBF |
Name |
STRING |
No longer than 1023 bytes |
Namespace |
STRING |
No longer than 1023 bytes |
Extends |
TypeDefOrRef |
Base type |
FieldList |
RID: Field |
-- |
MethodList |
RID: Method |
-- |
Table: FieldPtr; RID Type: 03; Token Type: None; MD Stream: #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Field |
RID: Field |
-- |
Table: Field; RID Type: 04; Token Type: 0x04000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Flags |
USHORT |
Validity mask: 0xB7F7 |
Name |
STRING |
No longer than 1023 bytes |
Signature |
BLOB |
Cannot be 0 |
Table: MethodPtr; RID Type: 05; Token Type: None; MD Stream: #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Method |
RID: Method |
-- |
Table: Method; RID Type: 06; Token Type: 0x06000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
RVA |
ULONG |
Must be 0 or point at read-only section |
ImplFlags |
USHORT |
Validity mask: 0x10BF |
Flags |
USHORT |
Validity mask: 0xFDF7 |
Name |
STRING |
No longer than 1023 bytes |
Signature |
BLOB |
Cannot be 0 |
ParamList |
RID: Param |
-- |
Table: ParamPtr; RID Type: 07; Token Type: None; MD Stream: #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Param |
RID: Param |
-- |
Table: Param; RID Type: 08; Token Type: 0x08000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Flags |
USHORT |
Validity mask: 0x3013 |
Sequence |
USHORT |
0 means return value |
Name |
STRING |
-- |
Table: InterfaceImpl; RID Type: 09; Token Type: 0x09000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Class |
RID: TypeDef |
Class implementing the interface |
Interface |
TypeDefOrRef |
Implemented interface |
Table: MemberRef; RID Type: 10; Token Type: 0x0A000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Class |
MemberRefParent |
Cannot be TypeDef |
Name |
STRING |
No longer than 1023 bytes |
Signature |
BLOB |
Cannot be 0 |
Table: Constant; RID Type: 11; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Type |
BYTE |
-- |
Parent |
HasConstant |
-- |
Value |
BLOB |
-- |
Table: CustomAttribute; RID Type: 12; Token Type: 0x0C000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Parent |
HasCustomAttribute |
-- |
Type |
CustomAttributeType |
-- |
Value |
BLOB |
Can be 0 |
Table: FieldMarshal; RID Type: 13; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Parent |
FieldMarshal |
-- |
NativeType |
BLOB |
Cannot be 0 |
Table: DeclSecurity; RID Type: 14; Token Type: 0x0E000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Action |
SHORT |
-- |
Parent |
HasDeclSecurity |
-- |
PermissionSet |
BLOB |
Cannot be 0 |
Table: ClassLayout; RID Type: 15; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
PackingSize |
USHORT |
Power of 2, from 1 through 128 |
ClassSize |
ULONG |
-- |
Parent |
RID: TypeDef |
-- |
Table: FieldLayout; RID Type: 16; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
OffSet |
ULONG |
Offset in bytes or ordinal |
Field |
RID: Field |
-- |
Table: StandAloneSig; RID Type: 17; Token Type: 0x11000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Signature |
BLOB |
Cannot be 0 |
Table: EventMap; RID Type: 18; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Parent |
RID: TypeDef |
-- |
EventList |
RID: Event |
-- |
Table: EventPtr; RID Type: 19; Token Type: None; MD Stream: #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Event |
RID: Event |
-- |
Table: Event; RID Type: 20; Token Type: 0x14000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
EventFlags |
USHORT |
0x0000, 0x0200, or 0x0600 |
Name |
STRING |
No longer than 1023 bytes |
EventType |
TypeDefOrRef |
-- |
Table:PropertyMap; RID Type: 21; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Parent |
RID: TypeDef |
-- |
PropertyList |
RID: Property |
-- |
Table: PropertyPtr; RID Type: 22; Token Type: None; MD Stream: #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Property |
RID: Property |
-- |
Table: Property; RID Type: 23; Token Type: 0x17000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
PropFlags |
USHORT |
Validity mask: 0x1600 |
Name |
STRING |
No longer than 1023 bytes |
Type |
BLOB |
Property signature |
Table: MethodSemantics; RID Type: 24; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Semantic |
USHORT |
-- |
Method |
RID: Method |
-- |
Association |
HasSemantics |
-- |
Table: MethodImpl; RID Type: 25; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Class |
RID: TypeDef |
-- |
MethodBody |
MethodDefOrRef |
Overriding method |
MethodDeclaration |
MethodDefOrRef |
Overridden method |
Table: ModuleRef; RID Type: 26; Token Type: 0x1A000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Name |
STRING |
No longer than 512 bytes |
Table: TypeSpec; RID Type: 27; Token Type: 0x1B000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Signature |
BLOB |
Cannot be 0 |
Table: ENCLog; RID Type: 28; Token Type: None; MD Stream: #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Token |
ULONG |
-- |
FuncCode |
ULONG |
-- |
Table: ImplMap; RID Type: 29; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
MappingFlags |
USHORT |
Validity mask: 0x0747 |
MemberForwarded |
MemberForwarded |
Method only |
ImportName |
STRING |
Entry point name |
ImportScope |
RID: ModuleRef |
ModuleRef to unmanaged DLL |
Table: ENCMap; RID Type: 30; Token Type: None; MD Stream: #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Token |
ULONG |
-- |
Table: FieldRVA; RID Type: 31; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
RVA |
ULONG |
-- |
Field |
RID: Field |
-- |
Table: Assembly; RID Type: 32; Token Type: 0x20000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
HashAlgId |
ULONG |
-- |
MajorVersion |
USHORT |
-- |
MinorVersion |
USHORT |
-- |
BuildNumber |
USHORT |
-- |
RevisionNumber |
USHORT |
-- |
Flags |
ULONG |
Validity mask: 0x0000C371 |
PublicKey |
BLOB |
-- |
Name |
STRING |
No path, no extension |
Locale |
STRING |
-- |
Table: AssemblyProcessor; RID Type: 33; Token Type: None; Unused
Entry Name |
Entry Type |
Comments |
---|---|---|
Processor |
ULONG |
-- |
Table: AssemblyOS; RID Type: 34; Token Type: None; Unused
Entry Name |
Entry Type |
Comments |
---|---|---|
OSPlatformID |
ULONG |
-- |
OSMajorVersion |
ULONG |
-- |
OSMinorVersion |
ULONG |
-- |
Table: AssemblyRef; RID Type: 35; Token Type: 0x23000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
MajorVersion |
USHORT |
-- |
MinorVersion |
USHORT |
-- |
BuildNumber |
USHORT |
-- |
RevisionNumber |
USHORT |
-- |
Flags |
ULONG |
Validity mask: 0x00000371 |
PublicKeyOrToken |
BLOB |
-- |
Name |
STRING |
No path, no extension |
Locale |
STRING |
-- |
HashValue |
BLOB |
-- |
Table: AssemblyRefProcessor; RID Type: 36; Token Type: None; Unused
Entry Name |
Entry Type |
Comments |
---|---|---|
Processor |
ULONG |
-- |
AssemblyRef |
RID: AssemblyRef |
-- |
Table: AssemblyRefOS; RID Type: 37; Token Type: None; Unused
Entry Name |
Entry Type |
Comments |
---|---|---|
OSPlatformId |
ULONG |
-- |
OSMajorVersion |
ULONG |
-- |
OSMinorVersion |
ULONG |
-- |
AssemblyRef |
RID: AssemblyRef |
-- |
Table: File; RID Type: 38; Token Type: 0x26000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Flags |
ULONG |
0x00000000 or 0x00000001 |
Name |
STRING |
No path; only filename |
HashValue |
BLOB |
-- |
Table: ExportedType; RID Type: 39; Token Type: 0x27000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Flags |
ULONG |
Validity mask: 0x00200007 |
TypeDefId |
ULONG |
TypeDef token in another module |
TypeName |
STRING |
No longer than 1023 bytes |
TypeNamespace |
STRING |
No longer than 1023 bytes |
Implementation |
Implementation |
File, ExportedType, AssemblyRef |
Table: ManifestResource; RID Type: 40; Token Type: 0x28000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Offset |
ULONG |
-- |
Flags |
ULONG |
0x000001 or 0x000002 |
Name |
STRING |
-- |
Implementation |
Implementation |
0, File, AssemblyRef |
Table: NestedClass; RID Type: 41; Token Type: None; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
NestedClass |
RID: TypeDef |
-- |
EnclosingClass |
RID: TypeDef |
-- |
Table : GenericParam; RID Type: 42; Token Type: 0x2A000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Number |
USHORT |
Ordinal |
Flags |
USHORT |
Constraint flags |
Owner |
TypeOrMethodDef |
Generic type or method |
Name |
STRING |
Can be 0 |
Table: MethodSpec; RID Type: 43; Token Type: 0x2B000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Method |
MethodDefOrRef |
Instantiated method |
Instantiation |
BLOB |
Instantiation signature |
Table: GenericParamConstraint; RID Type: 44; Token Type: 0x2C000000; MD Streams: #~, #-
Entry Name |
Entry Type |
Comments |
---|---|---|
Owner |
RID: GenericParam |
Constrained parameter |
Constraint |
TypeDefOrRef |
Type the parameter must extend or implement |
Table: Coded Token Types
Type |
Tag |
---|---|
TypeDefOrRef (64): 3 referenced tables, tag size 2 | |
TypeDef |
0 |
TypeRef |
1 |
TypeSpec |
2 |
HasConstant (65): 3 referenced tables, tag size 2 | |
Field |
0 |
Param |
1 |
Property |
2 |
HasCustomAttribute (66): 22 referenced tables, tag size 5 | |
Method |
0 |
Field |
1 |
TypeRef |
2 |
TypeDef |
3 |
Param |
4 |
InterfaceImpl |
5 |
MemberRef |
6 |
Module |
7 |
Permission |
8 |
Property |
9 |
Event |
10 |
Signature |
11 |
ModuleRef |
12 |
TypeSpec |
13 |
Assembly |
14 |
AssemblyRef |
15 |
File |
16 |
ExportedType |
17 |
ManifestResource |
18 |
GenericParam |
19 |
GenericParamConstraint |
20 |
MethodSpec |
21 |
HasFieldMarshal (67): 2 referenced tables, tag size 1 | |
Field |
0 |
Param |
1 |
HasDeclSecurity (68): 3 referenced tables, tag size 2 | |
TypeDef |
0 |
Method |
1 |
Assembly |
2 |
MemberRefParent (69): 5 referenced tables, tag size 3 | |
TypeDef |
0 |
TypeRef |
1 |
ModuleRef |
2 |
Method |
3 |
TypeSpec |
4 |
HasSemantics (70): 2 referenced tables, tag size 1 | |
Event |
0 |
Property |
1 |
MethodDefOrRef (71): 2 referenced tables, tag size 1 | |
Method |
0 |
MemberRef |
1 |
MemberForwarded (72): 2 referenced tables, tag size 1 | |
Field |
0 |
Method |
1 |
Implementation (73): 3 referenced tables, tag size 2 | |
File |
0 |
AssemblyRef |
1 |
ExportedType |
2 |
CustomAttributeType (74): 2 referenced tables, tag size 3 | |
none |
0 |
none |
1 |
Method |
2 |
MemberRef |
3 |
none |
4 |
ResolutionScope (75): 4 referenced tables, tag size 2 | |
Module |
0 |
ModuleRef |
1 |
AssemblyRef |
2 |
TypeRef |
3 |
TypeOrMethodDef (76): 2 referenced tables, tag size 1 | |
TypeDef |
0 |
Method |
1 |
3.144.187.103