Metadata Tables, 元数据表
引言:
怎么着,用.Net开发也好久了. 俺虽然天资不高,不能过目不忘,勤奋点记下来还是可以的. 备忘 :).
数据来自, From 《.Net 加密与解密》 Append A,与ECMA校对基本无误
名称与功能的对应:
表名称 | 功能描述 |
Module | 定义模块 |
TypeRef | 描述引用类型 |
TypeDef | 定义类型或者接口 |
FieldPtr | 在非优化的元数据表中,定义累中的字段时的中间查找表 |
Field | 定义字段 |
MethodPtr | 在非优化的元数据表中,在定义类的方法时的中间查找表 |
Method(MethodDef) | 定义方法 |
ParamPtr | 非优化的元数据表中,在定位方法的参数时的中间查找表 |
Param | 定义方法参数 |
InterfaceImpl | 定义类与所实现的接口 |
MemberRef | 定义引用的方法或字段 |
Constant | 定义#Blob流中存储的常数值与相应的字段, 参数或属性的关系 |
CustomAttribute | 定义自定义属性 |
FieldMarshal | 定义托管与非托管的互操作时的参数或字段的Marshal操作 |
DeclSecurity | 定义安全码 |
ClassLayout | 描述与类被加载时应如何布局的信息 |
FieldLayout | 描述了单个字段的偏移或是序号 |
StandAloneSig | 用于定义本地变量或间接调用(calli)的签名 |
EventMap | 类到事件的映射表,不是中间查找表(区别于Ptr结尾的表) |
EventPtr | 非优化的元数据表中,定位事件的中间查找表 |
Event | 定义事件 |
PropertyMap | 类到属性的映射表 |
PropertyPtr | 非优化的元数据表中,定位属性时的中间查找表 |
Property | 定义属性 |
MethodSemantics | 描述方法与事件或属性的关联,以及如何关联 |
MethodImpl | 描述方法的重载 |
ModuleRef | 描述引用模块 |
TypeSpec | 定义type specification(构造函数,指针,数组等) |
ImplMap | 托管与非托管的互操作时的P/Invoke操作 |
FieldRVA | 定义字段到数据的映射关系 |
ENCLog | 在 Edit-and-continue模式中用于描述那些元数据被修改过 |
ENCMap | 在 Edit-and-continue模式中描述映射 |
Assembly | 定义当前程序集 |
AssemblyProcessor | 无 |
AssemblyOS | 无 |
AssemblyRef | 引用程序集 |
AssemblyRefProcessor | 无 |
AssemblyRefOS | 无 |
File | 描述当前程序集中的其他文件 |
ExportedType | 仅存在于程序集主模块中,描述程序集中其他模块定义的导出类 |
ManifestResource | 描述托管资源 |
NestedClass | 描述嵌套定义类及相应的包含类 |
GenericParam | 描述泛型类或泛型方法的类型参数 |
MethodSpec | 描述泛型方法的实例化 |
GenericParamConstraint | 描述泛型类或泛型方法的类型参数的相应限制 |
还不够详细? 老大,你还真寻根究底。。。
好吧,看这里: Standard ECMA-335 Page: 229 / Expert IL 2.0 Assembler