mono_metadata_guid_heap| meta | metadata context |
| index | index into the guid heap. |
mono_metadata_string_heap| meta | metadata context |
| index | index into the string heap. |
mono_metadata_blob_heap| meta | metadata context |
| index | index into the blob. |
mono_metadata_user_string| meta | metadata context |
| index | index into the user string heap. |
US").
mono_metadata_decode_blob_size| ptr | pointer to a blob object |
| rptr | the new position of the pointer |
| ECMA CLI Table Name | C Constant Name | Table Schema (Array Size + Columns Constants) | Assembly | MONO_TABLE_ASSEMBLY |
Array size:
MONO_ASSEMBLY_SIZE
|
AssemblyOS | MONO_TABLE_ASSEMBLYOS |
Array size:
MONO_ASSEMBLYOS_SIZE
|
AssemblyProcessor | MONO_TABLE_ASSEMBLYPROCESSOR | Array
size: MONO_ASSEMBLYPROCESSOR_SIZE
|
AssemblyRef | MONO_TABLE_ASSEMBLYREF |
Array size:
MONO_ASSEMBLYREF_SIZE
|
AssemblyRefProcessor | MONO_TABLE_ASSEMBLYREFPROCESSOR | Array
size: MONO_ASSEMBLYREFPROC_SIZE
|
AssemblyRefOS | MONO_TABLE_ASSEMBLYREFOS |
Array size:
|
ClassLayout | MONO_TABLE_CLASSLAYOUT |
Array size:
MONO_CLASSLAYOUT_SIZE
|
Constant | MONO_TABLE_CONSTANT |
Array size:
MONO_CONSTANT_SIZE
|
CustomAttribute | MONO_TABLE_CUSTOMATTRIBUTE |
Array size:
MONO_CUSTOM_ATTR_SIZE
|
DeclSecurity | MONO_TABLE_DECLSECURITY |
Array size:
MONO_DECL_SECURITY_SIZE
|
EventMap | MONO_TABLE_EVENTMAP |
Array size:
MONO_EVENT_MAP_SIZE
|
EventPtr | MONO_TABLE_EVENT_POINTER |
Array size:
MONO_EVENT_POINTER_SIZE
|
Event | MONO_TABLE_EVENT |
Array size: MONO_EVENT_SIZE
|
ExportedType | MONO_TABLE_EXPORTEDTYPE |
Array size:
MONO_EXPORTEDTYPE_SIZE
|
Field | MONO_TABLE_FIELD |
Array size: MONO_FIELD_SIZE
|
FieldLayoutt | MONO_TABLE_FIELDLAYOUT |
Array size:
MONO_FIELDLAYOUT_SIZE
|
FieldMarshal | MONO_TABLE_FIELDMARSHAL |
Array size:
MONO_FIELD_MARSHAL_SIZE
|
FieldPtr | MONO_TABLE_FIELD_POINTER |
Array size:
MONO_FIELD_POINTER_SIZE
|
FieldRVA | MONO_TABLE_FIELDRVA |
Array size:
MONO_FIELDRVA_SIZE
|
File | MONO_TABLE_FILE |
Array size: MONO_FILE_SIZE
|
GenericParam | MONO_TABLE_GENERICPARAM |
Array size:
MONO_GENERICPARAM_SIZE
|
GenericParamConstraint | MONO_TABLE_GENERICPARAMCONSTRAINT | Array
size: MONO_GENERICPARAMCONSTRAINT_SIZE
|
| ImplMap | MONO_TABLE_IMPLMAP |
Array size:
MONO_IMPLMAP_SIZE
|
InterfaceImpl | MONO_TABLE_INTERFACEIMPL |
Array size:
|
ManifestResource | MONO_TABLE_MANIFESTRESOURCE | Array
size: MONO_MANIFESTRESOURCE_SIZE
|
| MemberRef | MONO_TABLE_MEMBERREF |
Array size:
MONO_MEMBERREF_SIZE
|
MethodImpl | MONO_TABLE_METHODIMPL |
Array size:
MONO_METHODIMPL_SIZE
|
MethodSpec | MONO_TABLE_METHODSPEC |
Array size:
MONO_METHODSPEC_SIZE
|
| MethodSemantics | MONO_TABLE_METHODSEMANTICS | Array
size: MONO_METHOD_SEMA_SIZE
|
Moduleref | MONO_TABLE_MODULEREF |
Array size:
MONO_MODULEREF_SIZE
|
| Module | MONO_TABLE_MODULE |
Array size:
MONO_MODULE_SIZE
Columns:
|
TypeRef | MONO_TABLE_TYPEREF |
Array size:
MONO_TYPEREF_SIZE
|
| MethodPtr | MONO_TABLE_METHOD_POINTER |
Array size:
MONO_METHOD_POINTER_SIZE
|
Method | MONO_TABLE_METHOD |
Array size:
MONO_METHOD_SIZE
|
| NestedClass | MONO_TABLE_NESTEDCLASS |
Array size:
MONO_NESTEDCLASS_SIZE
|
| ParamPtr | MONO_TABLE_PARAM_POINTER |
Array size:
MONO_PARAM_POINTER_SIZE
|
Param | MONO_TABLE_PARAM |
Array size: MONO_PARAM_SIZE
|
PropertyMap | MONO_TABLE_PROPERTYMAP |
Array size:
MONO_PROPERTY_MAP_SIZE
|
PropertyPtr | MONO_TABLE_PROPERTY_POINTER | Array
size: MONO_PROPERTY_POINTER_SIZE
|
Property | MONO_TABLE_PROPERTY |
Array size:
MONO_PROPERTY_SIZE
|
| StandaloneSig | MONO_TABLE_STANDALONESIG |
Array size:
|
| TypeDef | MONO_TABLE_TYPEDEF |
Array size:
MONO_TYPEDEF_SIZE
|
| TypeSpec | MONO_TABLE_TYPESPEC |
Array size:
MONO_TYPESPEC_SIZE
|
/*
* Dumps a few fields from the AssemblyRef table
*/
void DumpAssemblyRefs (MonoImage *image)
{
/* Get a pointer to the AssemblyRef metadata table */
MonoTableInfo *t = mono_image_get_table_info (image, MONO_TABLE_ASSEMBLYREF);
/* Fetch the number of rows available in the table */
int rows = mono_table_info_get_rows (t);
int i;
/* For each row, print some of its values */
for (i = 0; i < rows; i++){
/* Space where we extract one row from the metadata table */
guint32 cols [MONO_ASSEMBLYREF_SIZE];
/* Extract the row into the array cols */
mono_metadata_decode_row (t, i, cols, MONO_ASSEMBLYREF_SIZE);
fprintf (output, "%d: Version=%d.%d.%d.%d\n\tName=%s\n", i + 1,
cols [MONO_ASSEMBLYREF_MAJOR_VERSION],
cols [MONO_ASSEMBLYREF_MINOR_VERSION],
cols [MONO_ASSEMBLYREF_BUILD_NUMBER],
cols [MONO_ASSEMBLYREF_REV_NUMBER],
mono_metadata_string_heap (image, cols [MONO_ASSEMBLYREF_NAME]));
}
}
The above program shows the following output when ran on
the C# compiler:
1: Version=1.0.5000.0 Name=mscorlib 2: Version=1.0.5000.0 Name=System 3: Version=1.0.5000.0 Name=System.Xml
mono_image_get_table_infomono_image_get_table_rowsmono_metadata_decode_row_col| t | table to extract information from. |
| idx | index for row in table. |
| col | column in the row. |
mono_metadata_decode_row| t | table to extract information from. |
| idx | index in table. |
| res | array of res_size cols to store the results in |
mono_metadata_compute_sizemono_metadata_custom_attrs_from_indexmono_metadata_decode_signed_value| ptr | pointer to decode from |
| rptr | the new position of the pointer |
mono_metadata_decode_value| ptr | pointer to decode from |
| rptr | the new position of the pointer |
mono_metadata_encode_valuemono_pe_file_open| fname | filename that points to the module we want to open |
| status | An error condition is returned in this field |
NULL on error. if
NULL, then check the value of status for details on the error.
This variant for mono_image_open DOES NOT SET UP CLI METADATA.
It's just a PE file loader, used for FileVersionInfo. It also does
not use the image cache.mono_metadata_events_from_typedefmono_metadata_decode_table_rowmono_metadata_decode_table_row_colmono_metadata_field_infomono_metadata_free_arraymono_metadata_free_marshal_specmono_metadata_free_mhmono_metadata_free_typemono_metadata_get_constant_indexmono_metadata_get_marshal_infomono_metadata_implmap_from_methodmono_metadata_interfaces_from_typedefmono_metadata_locate| meta | metadata context |
| table | table code. |
| idx | index of element to retrieve from table. |
mono_metadata_locate_token| meta | metadata context |
| token | metadata token |
token.mono_metadata_methods_from_eventmono_metadata_methods_from_propertymono_metadata_nested_in_typedefmono_metadata_nesting_typedefmono_metadata_packing_from_typedefmono_metadata_properties_from_typedefmono_metadata_token_from_dormono_metadata_translate_token_indexmono_metadata_typedef_from_field| meta | metadata context |
| index | FieldDef token |
mono_metadata_typedef_from_methodmono_metadata_type_equalmono_metadata_type_hashmono_metadata_declsec_from_indexmono_metadata_free_method_signaturemono_metadata_parse_arraymono_metadata_parse_custom_modmono_metadata_parse_field_type| m | metadata context to extract information from |
| ptr | pointer to the field signature |
| rptr | pointer updated to match the end of the decoded stream |
mono_metadata_parse_marshal_specmono_metadata_parse_method_signaturemono_metadata_parse_mhmono_metadata_parse_param| m | metadata context to extract information from |
| ptr | pointer to the param signature |
| rptr | pointer updated to match the end of the decoded stream |
mono_metadata_parse_ret_typemono_metadata_parse_signaturemono_metadata_parse_typedef_or_refmono_metadata_parse_type| m | metadata context |
| mode | king of type that may be found at ptr |
| opt_attrs | optional attributes to store in the returned type |
| ptr | pointer to the type representation |
| rptr | pointer updated to match the end of the decoded stream |
| transient | whenever to allocate the result from the heap or from a mempool |
MonoType structure representing the decoded type.
mono_metadata_generic_class_equalmono_metadata_generic_class_hashmono_metadata_generic_class_is_valuetypemono_ldtokenmono_ldstr| domain | the domain where the string will be used. |
| image | a metadata context |
| idx | index into the user string table. |
mono_exception_from_token| image | the Mono image where to look for the class |
| token | The type token of the class |
mono_opcode_name