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
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 transient: whenever to allocate the result from the heap or from a mempool 
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 (stored in image->property_hash) generic container. When we encounter any MONO_TYPE_VAR or MONO_TYPE_MVAR's, they're looked up in this MonoGenericContainer. 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.