Returnsmeta: metadata context index: index into the guid heap.
an in-memory pointer to the index in the guid heap.
Returnsmeta: metadata context index: index into the string heap.
an in-memory pointer to the index in the string heap.
Returnsmeta: metadata context index: index into the blob.
an in-memory pointer to the index in the Blob heap.
Returnsmeta: metadata context index: index into the user string heap.
an in-memory pointer to the index in the user string heap ("US").
Returnsptr: pointer to a blob object rptr: the new position of the pointer
the size of the blob objectRemarks This decodes a compressed size as described by 23.1.4 (a blob or user string object)
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
Returnstable: table index
the name for the table indexRemarks Returns the name of the given ECMA metadata logical format table as described in ECMA 335, Partition II, Section 22.
Remarks This function returns the value of column col from the idx row in the table t.t: table to extract information from. idx: index for row in table. col: column in the row.
Remarks This decompresses the metadata element idx in table t into the guint32 res array that has res_size elementst: table to extract information from. idx: index in table. res: array of res_size cols to store the results in
Returnsptr: pointer to decode from rptr: the new position of the pointer
the decoded valueRemarks This routine decompresses 32-bit signed values (not specified in the spec)
Returnsptr: pointer to decode from rptr: the new position of the pointer
the decoded valueRemarks This routine decompresses 32-bit values as specified in the "Blob and Signature" section (22.2)
Returnsfname: filename that points to the module we want to open status: An error condition is returned in this field
An open image of type %MonoImage or 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.
Returnsmeta: metadata context table: table code. idx: index of element to retrieve from table.
a pointer to the idx element in the metadata table whose code is table.
Returnsmeta: metadata context token: metadata token
a pointer to the data in the metadata represented by the token token.
Returnsmeta: metadata context index: FieldDef token
the 1-based index into the TypeDef table of the type that declared the field described by index, or 0 if not found.
Returnsm: metadata context to extract information from ptr: pointer to the field signature rptr: pointer updated to match the end of the decoded stream
The MonoType that was extracted from ptr.Remarks Parses the field signature, and returns the type information for it.
Returnsm: metadata context to extract information from ptr: pointer to the param signature rptr: pointer updated to match the end of the decoded stream
The MonoType that was extracted from ptr.Remarks Parses the param signature, and returns the type information for it.
Returnsm: 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
a MonoType structure representing the decoded type.Remarks Decode a compressed type description found at ptr in m. mode can be one of MONO_PARSE_MOD_TYPE, MONO_PARSE_PARAM, MONO_PARSE_RET, MONO_PARSE_FIELD, MONO_PARSE_LOCAL, MONO_PARSE_TYPE. This function can be used to decode type descriptions in method signatures, field signatures, locals signatures etc. To parse a generic type, `generic_container' points to the current class'es (the `generic_container' field in the MonoClass) or the current generic method's (the `generic_container' field in the MonoMethodNormal) generic container. When we encounter any MONO_TYPE_VAR or MONO_TYPE_MVAR's, they're looked up in this MonoGenericContainer. This is a Mono runtime internal function. LOCKING: Acquires the loader lock.
Returnsdomain: the domain where the string will be used. image: a metadata context idx: index into the user string table.
a loaded string from the image/idx combination.Remarks Implementation for the ldstr opcode.
Returnsimage: the Mono image where to look for the class token: The type token of the class
the initialized exception instance.Remarks Creates an exception of the type given by token.