JetBrains.Platform.ReSharper.Metadata
Decodes compressed integer from byte stream
Decodes encoded type token
Structure for storing typedef properties
Gets fully qualified type name
Gets base token
Gets typedef flags
Structure for storing typeref properties
Gets type reference resolution scope
Gets references type name
Gets name of generic parameter
Gets generic parmeter index
Gets owner token
Gets generic param attributes
Gets generic param constraints
Stores properties of a member reference
Interface for accessing metadata in abstract way
Gets assembly info interface if available
Gets array of all available typedef tokens
Gets properties of a typedef
Gets properties of a typeref
Gets blob for typeSpec
Gets array of generic parameters fot the specified owner
Gets properties of a generic parameter
Gets array of implemented interfaces tokens for specified type
Gets array of type fields
Gets field properties
Gets array of type methods
Gets method properties
Gets method parameters
Gets parameter by its index in method signature
Gets parameter properties
Gets array of type properties
Gets property properties
Gets array of type events
Gets event properties
Gets enclosing type
Gets array of custom attributes attached to the specified entity
Gets custom attribute properties
Gets properties of a member reference
Gets method implementation map for a type
Checks if an entity has attribute with the specified name
Gets array of type references from the assembly
Provides access to assembly metadata info
Gets full assembly name
Gets names of referenced assemblies
Gets assembly token
Provides metadata interface for various sources
Enumerates prologs for different signatures
Enumeration of table type byte values from metadata tokens (high byte of token)
Represents metadata token
Close an enumeration of elements in the metadata
An enumeration handle returned from one of the EnumXXXX methods
Count the number of items available in an enumerations
An enumeration handle returned from one of the EnumXXXX methods
An output parameter which is filled with the item count
The HRESULT from the COM method
Reset an enumeration to a specific position
An enumeration handle returned from one of the EnumXXXX methods
The item position to reset to
The HRESULT from the COM method
Tokens representing typedefs from an enumeration of typedefs in the metadata scope
int hEnum=0;
int[] toks=new int[5];
int enumCount;
try {
impScope.EnumTypeDefs(ref hEnum,toks,toks.Length,out enumCount);
char[] nameBuffer=new char[2048];
int nameLen=0;
int superType=0;
int typeFlags=0;
int global=0;
while(enumCount>0) {
for(int I=0;I<enumCount;I++) {
Console.Error.Write(toks[I].ToString("X8"));
impScope.GetTypeDefProps(toks[I],nameBuffer,nameBuffer.Length,out nameLen,out typeFlags,out superType);
impScope.IsGlobal(toks[I],out global);
Console.Error.WriteLine(" "+new String(nameBuffer,0,nameLen)+" "+typeFlags.ToString("X8")+" "+superType.ToString("X8")+" "+global);
}
impScope.EnumTypeDefs(ref hEnum,toks,toks.Length,out enumCount);
}
}
finally {
if(hEnum!=0) impScope.CloseEnum(hEnum);
}
Output parameter which will be populated with the enum handle or which represents the enum handle to continue enumerating from
An array into which the typedefs are returned
Maximum number of items to return, size of the array. Use CountEnum to size this.
Actual number of items to returned in the array
The HRESULT from the COM method
Tokens representing interface implementations from an enumeration in the metadata scope
Output parameter which will be populated with the enum handle or which represents the enum handle to continue enumerating from
Token specifying the TypeDef whose InterfaceImpls are required
An array into which the typedefs are returned
Maximum number of items to return, size of the array. Use CountEnum to size this.
Actual number of items to returned in the array
The HRESULT from the COM method
Enumerate tokens represention type references from an enumeration in the metadata scope
Output parameter which will be populated with the enum handle or which represents the enum handle to continue enumerating from
An array into which the typedefs are returned
Maximum number of items to return, size of the array. Use CountEnum to size this.
Actual number of items to returned in the array
The HRESULT from the COM method
Find a typedef token by the name of the type
The name of the type
The enclosing class for the type or 0 (token_null)
The output parameter into which the typedef token will be written
The HRESULT from the COM method
Get some properties from the scope - these are the module name and the module MVID unique GUID
Char buffer into which the name is written
Size of the buffer
Output parameter of the number of characters actually written to
Guid into which the MVID is written
The HRESULT from the COM method
Get the metadata token for the module on which this scope was opened
The output parameter into which the module token is written
The HRESULT from the COM method
Get the name, flags and base class of a typedef (if appropriate)
Token to retrieve the properties from
Char buffer into which the name will be written
Size of the buffer
Output parameter for the actual number of characters written into the buffer
Outpu parameter for the flags from this typedef
Output parameter for the base type token
The HRESULT from the COM method
Get the interface implementation details
Interface implementation instance token from
Output class token implementing interface
Output interface token implemented by class
The HRESULT from the COM method
Get the properties from a typeref
The typeref token to retrieve details from
Output token for the resolution scope, either a moduleref or an assemblyref
Char buffer into which the name will be written
Size of the buffer
Output parameter for the actual number of characters written into the buffer
The HRESULT from the COM method
Return the scope and token for a typedef corresponding to a (possibly imported) typeref
Typeref to resolve
Interface type GUID for the returned interface, normally IID_IMetadataImport
Output object which may be cast to the interface type specified in
Output parameter into which the typedef token in the scope is written
The HRESULT from the COM method
Enumerate the members of a type
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the members of a type which match the specified name
Enumeration handle
Typedef token to enumerate members from
Name of the members to enumerate
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the methods of a type
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the methods of a type which match the specified name
Enumeration handle
Typedef token to enumerate members from
Name of the members to enumerate
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the fields of a type
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the fields of a type which match the specified name
Enumeration handle
Typedef token to enumerate members from
Name of the members to enumerate
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the parameters of a methods
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Retrieve all of the member refs for a specified type within the scope
Enumeration handle
Token to enumerate members from. Use 0 (token_null) for globals
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Retrieve all of the methods implementation details
Enumeration handle
Typedef to enumerate methods implementations from
Array into which the method body tokens are written
Array into which the method interface declaration tokens are written
Size of the arrays and
Output parameter for the actual count of tokens written into and
The HRESULT from the COM method
Retrieve all of the permission sets for a specified type within the scope
Enumeration handle
Token to enumerate members from
Mask of actions to return if non-zero
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Find a member by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Find a method by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Find a field by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Find a memberref by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Enumerate the properties on a type
Enumeration handle
Token to enumerate properties from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the events on a type
Enumeration handle
Token to enumerate events from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Get the detail for an event
Event token
Type in which event is defined
Char buffer into which event name is written
Buffer size of
Output parameter for the actual number of characters written into
Output parameter for the event flags
Output parameter for the event typeref token
Output parameter for the add method token
Output parameter for the remove method token
Output parameter for the fire method token
Array into which other methods tokens associated with this event are written
Size of the array
Output parameter for the actual count written into the array
The HRESULT from the COM method
Return extended method semantics information
Enumeration handle
Methoddef token for method of interest
Array into which event or property with which this method is associated is written
Size of the array
Output parameter for the actual count written into the array
The HRESULT from the COM method
Return the semantics bits for a method and the event or property with which it is associated
Method token
Event or property token
Output parameter of the semantics flags
The HRESULT from the COM method
Get the class layout (fixed field offsets) for a class
Typedef token for the class
Output parameter for packing alignment in bytes
Array of long ints into which the field offset information will be written. Each long int is a concatanation of the offset and the token for the field for which the offset is being defined
Size of the array in
Output parameter for the actual count of fields written into
Output parameter for total class size
The HRESULT from the COM method
Get the field marshalling information
Token to retrieve marshalling infomation for
Output parameter for pointer to native type signature for marshalling
Output parameter for the count of bytes for
The HRESULT from the COM method
Get the Relative Virtual Address for data associated with a token
Token to retrieve RVA infomation for
Output parameter for the RVA
Output parameter for the implementation flags
The HRESULT from the COM method
Get the detail for a permission set
Permission set token
Output parameter for the action set mask
Output parameter for the native pointer to the permission blob
Output parameter for the byte count in
The HRESULT from the COM method
Get the signature blob associated with a token
The token to retrieve the signature from
Output parameter for the native pointer to the permission blob
Output parameter for the byte count in
The HRESULT from the COM method
Retrive the detail of an imported module
Module ref token
Char buffer into which the name is written
Size of the buffer
Output parameter of the number of characters actually written to
The HRESULT from the COM method
Enumerate all of the module refs in this scope
Enumeration handle
Array into which the module refs are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get the type signature blob from a typespec token
Typespec token
Output parameter for the native pointer to the signature blob
Output parameter for the byte count in
DEPRECATED: Retrieve name from token
Token to retrive name from. Must have a name
Ouput parameter to populate with a native pointer to the name in UTF8 format
The HRESULT from the COM method
Enumerate all methods which are not yet resolved
See the unmanaged metadata API documentation for details
Enumeration handle
Array into which the method refs are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get a string from the user heap
Token for the string
Char array into which the string is written
Size of the array
Output parameter for the actual count of characters written into
The HRESULT from the COM method
Get the extended information for a PInvoke method
PInvoke field or method token
Output parameter for the mapping flags
Char buffer into which the name will be written
Size of the array
Output parameter for the actual count of characters written into
Output parameter into which the token for the imported module is written
The HRESULT from the COM method
Enumerate over all the signatures in the assembly. What a pointless method
Enumeration handle
Array into which signature tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Enumerate over all the typespecs in the assembly.
Enumeration handle
Array into which typespec tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Enumerate over all the user strings in the assembly.
Enumeration handle
Array into which string tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get the parameter token for a particular method parameter
Method token
Parameter ordinal number
Output parameter into which parameter token is written
The HRESULT from the COM method
Enumerate over all the custom attributes in the assembly.
Enumeration handle
Scope token or 0 (token_null) for all
Type token or 0 (token_null) for all
Array into which attribute tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get the detail for a custom attribute
Custom attribute token
Object token attribute is associated with
Type token attribute is associated with
Output parameter into which native attribute blob pointer is written
Output parameter into which size of attribute blob is written
The HRESULT from the COM method
Get the detailed properties for a member
Member token to retrieve detail from
Output parameter for class token owning member
Char array into which member name will be written
Size of the array
Output parameter for the actual number of chars written into
Output parameter for member flags
Output parameters for the native pointer to the signature blob. Retrieve data using System.Marshal.Copy
Output parameter for number of bytes in the signature blob
Output parameter for any associated relative virtual address
Output parameter for implementation flags
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
The HRESULT from the COM method
Get the detailed properties for a field
Field token to retrieve detail from
Output parameter for class token owning field
Char array into which field name will be written
Size of the array
Output parameter for the actual number of chars written into
Output parameter for field flags
Output parameters for the native pointer to the signature blob. Retrieve data using System.Marshal.Copy
Output parameter for number of bytes in the signature blob
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
The HRESULT from the COM method
Get the detailed properties for a property
Property token to retrieve detail from
Output parameter for class token owning property
Char array into which property name will be written
Size of the array
Output parameter for the actual number of chars written into
Output parameter for property flags
Output parameters for the native pointer to the signature blob. Retrieve data using System.Marshal.Copy
Output parameter for number of bytes in the signature blob
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
Output parameter for the method token for the setter
Output parameter for the method token for the getter
Array into which other methods tokens associated with this property are written
Size of the array
Output parameter for the actual count written into the array
The HRESULT from the COM method
Get the detail for a parameter
Parameter token
Output parameter for the owning method token
Output parameter for the ordinal position of this parameter
Char buffer into which the name is written
Size of the buffer
Output parameter of the number of characters actually written to
Output parameter for parameter flags
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
Retrieve a custom attribute by type name
Object token to which the attribute is attached
Name of the attribute to retrive
Output parameter into which native pointer to custom attribute data will be written
Output parameter into which size of attribute data will be written
Get the containing class for a nested class
Token for the nested class
Output parameter into which the token for the enclosing class is written
The HRESULT from the COM method
Decode the native calling convention from a signature
A native pointer to the signature blob
Count of bytes in the signature
Output parameter into which the calling convention is written
The HRESULT from the COM method
Test a token to see if it is global
Token to test
Output parameters which is 1 if global or zero if now
The HRESULT from the COM method
Close an enumeration of elements in the metadata
An enumeration handle returned from one of the EnumXXXX methods
Count the number of items available in an enumerations
An enumeration handle returned from one of the EnumXXXX methods
An output parameter which is filled with the item count
The HRESULT from the COM method
Reset an enumeration to a specific position
An enumeration handle returned from one of the EnumXXXX methods
The item position to reset to
The HRESULT from the COM method
Tokens representing typedefs from an enumeration of typedefs in the metadata scope
int hEnum=0;
int[] toks=new int[5];
int enumCount;
try {
impScope.EnumTypeDefs(ref hEnum,toks,toks.Length,out enumCount);
char[] nameBuffer=new char[2048];
int nameLen=0;
int superType=0;
int typeFlags=0;
int global=0;
while(enumCount>0) {
for(int I=0;I<enumCount;I++) {
Console.Error.Write(toks[I].ToString("X8"));
impScope.GetTypeDefProps(toks[I],nameBuffer,nameBuffer.Length,out nameLen,out typeFlags,out superType);
impScope.IsGlobal(toks[I],out global);
Console.Error.WriteLine(" "+new String(nameBuffer,0,nameLen)+" "+typeFlags.ToString("X8")+" "+superType.ToString("X8")+" "+global);
}
impScope.EnumTypeDefs(ref hEnum,toks,toks.Length,out enumCount);
}
}
finally {
if(hEnum!=0) impScope.CloseEnum(hEnum);
}
Output parameter which will be populated with the enum handle or which represents the enum handle to continue enumerating from
An array into which the typedefs are returned
Maximum number of items to return, size of the array. Use CountEnum to size this.
Actual number of items to returned in the array
The HRESULT from the COM method
Tokens representing interface implementations from an enumeration in the metadata scope
Output parameter which will be populated with the enum handle or which represents the enum handle to continue enumerating from
Token specifying the TypeDef whose InterfaceImpls are required
An array into which the typedefs are returned
Maximum number of items to return, size of the array. Use CountEnum to size this.
Actual number of items to returned in the array
The HRESULT from the COM method
Enumerate tokens represention type references from an enumeration in the metadata scope
Output parameter which will be populated with the enum handle or which represents the enum handle to continue enumerating from
An array into which the typedefs are returned
Maximum number of items to return, size of the array. Use CountEnum to size this.
Actual number of items to returned in the array
The HRESULT from the COM method
Find a typedef token by the name of the type
The name of the type
The enclosing class for the type or 0 (token_null)
The output parameter into which the typedef token will be written
The HRESULT from the COM method
Get some properties from the scope - these are the module name and the module MVID unique GUID
Char buffer into which the name is written
Size of the buffer
Output parameter of the number of characters actually written to
Guid into which the MVID is written
The HRESULT from the COM method
Get the metadata token for the module on which this scope was opened
The output parameter into which the module token is written
The HRESULT from the COM method
Get the name, flags and base class of a typedef (if appropriate)
Token to retrieve the properties from
Char buffer into which the name will be written
Size of the buffer
Output parameter for the actual number of characters written into the buffer
Outpu parameter for the flags from this typedef
Output parameter for the base type token
The HRESULT from the COM method
Get the interface implementation details
Interface implementation instance token from
Output class token implementing interface
Output interface token implemented by class
The HRESULT from the COM method
Get the properties from a typeref
The typeref token to retrieve details from
Output token for the resolution scope, either a moduleref or an assemblyref
Char buffer into which the name will be written
Size of the buffer
Output parameter for the actual number of characters written into the buffer
The HRESULT from the COM method
Return the scope and token for a typedef corresponding to a (possibly imported) typeref
Typeref to resolve
Interface type GUID for the returned interface, normally IID_IMetadataImport
Output object which may be cast to the interface type specified in
Output parameter into which the typedef token in the scope is written
The HRESULT from the COM method
Enumerate the members of a type
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the members of a type which match the specified name
Enumeration handle
Typedef token to enumerate members from
Name of the members to enumerate
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the methods of a type
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the methods of a type which match the specified name
Enumeration handle
Typedef token to enumerate members from
Name of the members to enumerate
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the fields of a type
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the fields of a type which match the specified name
Enumeration handle
Typedef token to enumerate members from
Name of the members to enumerate
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the parameters of a methods
Enumeration handle
Typedef token to enumerate members from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Retrieve all of the member refs for a specified type within the scope
Enumeration handle
Token to enumerate members from. Use 0 (token_null) for globals
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Retrieve all of the methods implementation details
Enumeration handle
Typedef to enumerate methods implementations from
Array into which the method body tokens are written
Array into which the method interface declaration tokens are written
Size of the arrays and
Output parameter for the actual count of tokens written into and
The HRESULT from the COM method
Retrieve all of the permission sets for a specified type within the scope
Enumeration handle
Token to enumerate members from
Mask of actions to return if non-zero
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Find a member by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Find a method by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Find a field by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Find a memberref by name
Typedef to search
Member name
Signature blob to filter names by
Number of bytes in
Output parameter for the matched member
The HRESULT from the COM method
Enumerate the properties on a type
Enumeration handle
Token to enumerate properties from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Enumerate the events on a type
Enumeration handle
Token to enumerate events from
Array into which the member tokens are written
Size of the array
Output parameter for the actual count of tokens written into
The HRESULT from the COM method
Get the detail for an event
Event token
Type in which event is defined
Char buffer into which event name is written
Buffer size of
Output parameter for the actual number of characters written into
Output parameter for the event flags
Output parameter for the event typeref token
Output parameter for the add method token
Output parameter for the remove method token
Output parameter for the fire method token
Array into which other methods tokens associated with this event are written
Size of the array
Output parameter for the actual count written into the array
The HRESULT from the COM method
Return extended method semantics information
Enumeration handle
Methoddef token for method of interest
Array into which event or property with which this method is associated is written
Size of the array
Output parameter for the actual count written into the array
The HRESULT from the COM method
Return the semantics bits for a method and the event or property with which it is associated
Method token
Event or property token
Output parameter of the semantics flags
The HRESULT from the COM method
Get the class layout (fixed field offsets) for a class
Typedef token for the class
Output parameter for packing alignment in bytes
Array of long ints into which the field offset information will be written. Each long int is a concatanation of the offset and the token for the field for which the offset is being defined
Size of the array in
Output parameter for the actual count of fields written into
Output parameter for total class size
The HRESULT from the COM method
Get the field marshalling information
Token to retrieve marshalling infomation for
Output parameter for pointer to native type signature for marshalling
Output parameter for the count of bytes for
The HRESULT from the COM method
Get the Relative Virtual Address for data associated with a token
Token to retrieve RVA infomation for
Output parameter for the RVA
Output parameter for the implementation flags
The HRESULT from the COM method
Get the detail for a permission set
Permission set token
Output parameter for the action set mask
Output parameter for the native pointer to the permission blob
Output parameter for the byte count in
The HRESULT from the COM method
Get the signature blob associated with a token
The token to retrieve the signature from
Output parameter for the native pointer to the permission blob
Output parameter for the byte count in
The HRESULT from the COM method
Retrive the detail of an imported module
Module ref token
Char buffer into which the name is written
Size of the buffer
Output parameter of the number of characters actually written to
The HRESULT from the COM method
Enumerate all of the module refs in this scope
Enumeration handle
Array into which the module refs are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get the type signature blob from a typespec token
Typespec token
Output parameter for the native pointer to the signature blob
Output parameter for the byte count in
DEPRECATED: Retrieve name from token
Token to retrive name from. Must have a name
Ouput parameter to populate with a native pointer to the name in UTF8 format
The HRESULT from the COM method
Enumerate all methods which are not yet resolved
See the unmanaged metadata API documentation for details
Enumeration handle
Array into which the method refs are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get a string from the user heap
Token for the string
Char array into which the string is written
Size of the array
Output parameter for the actual count of characters written into
The HRESULT from the COM method
Get the extended information for a PInvoke method
PInvoke field or method token
Output parameter for the mapping flags
Char buffer into which the name will be written
Size of the array
Output parameter for the actual count of characters written into
Output parameter into which the token for the imported module is written
The HRESULT from the COM method
Enumerate over all the signatures in the assembly. What a pointless method
Enumeration handle
Array into which signature tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Enumerate over all the typespecs in the assembly.
Enumeration handle
Array into which typespec tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Enumerate over all the user strings in the assembly.
Enumeration handle
Array into which string tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get the parameter token for a particular method parameter
Method token
Parameter ordinal number
Output parameter into which parameter token is written
The HRESULT from the COM method
Enumerate over all the custom attributes in the assembly.
Enumeration handle
Scope token or 0 (token_null) for all
Type token or 0 (token_null) for all
Array into which attribute tokens are written
Size of the array
Output parameter for the actual count written into
The HRESULT from the COM method
Get the detail for a custom attribute
Custom attribute token
Object token attribute is associated with
Type token attribute is associated with
Output parameter into which native attribute blob pointer is written
Output parameter into which size of attribute blob is written
The HRESULT from the COM method
Get the detailed properties for a member
Member token to retrieve detail from
Output parameter for class token owning member
Char array into which member name will be written
Size of the array
Output parameter for the actual number of chars written into
Output parameter for member flags
Output parameters for the native pointer to the signature blob. Retrieve data using System.Marshal.Copy
Output parameter for number of bytes in the signature blob
Output parameter for any associated relative virtual address
Output parameter for implementation flags
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
The HRESULT from the COM method
Get the detailed properties for a field
Field token to retrieve detail from
Output parameter for class token owning field
Char array into which field name will be written
Size of the array
Output parameter for the actual number of chars written into
Output parameter for field flags
Output parameters for the native pointer to the signature blob. Retrieve data using System.Marshal.Copy
Output parameter for number of bytes in the signature blob
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
The HRESULT from the COM method
Get the detailed properties for a property
Property token to retrieve detail from
Output parameter for class token owning property
Char array into which property name will be written
Size of the array
Output parameter for the actual number of chars written into
Output parameter for property flags
Output parameters for the native pointer to the signature blob. Retrieve data using System.Marshal.Copy
Output parameter for number of bytes in the signature blob
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
Output parameter for the method token for the setter
Output parameter for the method token for the getter
Array into which other methods tokens associated with this property are written
Size of the array
Output parameter for the actual count written into the array
The HRESULT from the COM method
Get the detail for a parameter
Parameter token
Output parameter for the owning method token
Output parameter for the ordinal position of this parameter
Char buffer into which the name is written
Size of the buffer
Output parameter of the number of characters actually written to
Output parameter for parameter flags
Output parameter for element type for any associated constant value
Output parameter for native pointer to constant value data
Output parameter for string size if constant value is a string
Retrieve a custom attribute by type name
Object token to which the attribute is attached
Name of the attribute to retrive
Output parameter into which native pointer to custom attribute data will be written
Output parameter into which size of attribute data will be written
Get the containing class for a nested class
Token for the nested class
Output parameter into which the token for the enclosing class is written
The HRESULT from the COM method
Decode the native calling convention from a signature
A native pointer to the signature blob
Count of bytes in the signature
Output parameter into which the calling convention is written
The HRESULT from the COM method
Test a token to see if it is global
Token to test
Output parameters which is 1 if global or zero if now
The HRESULT from the COM method
Wrapper for the IMetaDataDispenserEx COM unmanaged API
The methods on this class are documented in the Metadata Unmanaged API document in the SDK Tool Developers Guide
IMetaDataDispenserEx dispenser=new MetaDataDispenserEx();
IMetadataImport impScope=null;
object rawScope=null;
Guid iidImp=Constants.IID_IMetadataImport;
dispenser.OpenScope("bytecode.exe",0,ref iidImp,out rawScope);
impScope=(IMetadataImport)rawScope;
Define a new metadata scope
A Guid representing Constants.CLSID_CorMetaDataRuntime.ToByteArray();
Always pass 0
A GUID for the required interface, one of IID_IMetaDataEmit, IID_IMetadataImport, IID_IMetaDataAssemblyEmit or IID_IMetadataAssemblyImport
Output parameter which will be initialised to the new scope. Should be cast to the interface specified in
The HRESULT from the COM method
Open a metadata scope on an existing assembly file
A fully qualified file name of an assembly
0 for read, 1 for write
GUID for the required interface, one of IID_IMetaDataEmit, IID_IMetadataImport, IID_IMetaDataAssemblyEmit or IID_IMetadataAssemblyImport
Output parameter which will be initialised to the new scope. Should be cast to the interface specified in
The HRESULT from the COM method
Open a metadata scope on an existing set of metadata mapped into memory
The bytes of the assembly (i.e. base address of a mapped assembly dll file)
Count of bytes in
0 for read, 1 for write
GUID for the required interface, one of IID_IMetaDataEmit, IID_IMetadataImport, IID_IMetaDataAssemblyEmit or IID_IMetadataAssemblyImport
Output parameter which will be initialised to the new scope. Should be cast to the interface specified in
The HRESULT from the COM method
Set an option for the metadata API behaviour
GUID for the metadata option to set
Option specific variant data. Note that this object must be convertable to a variant according to the rules in the topic "Default Marshaling for Objects" in the SDK help
The HRESULT from the COM method
Get an option for the metadata API behaviour
GUID for the metadata option to set
Option specific variant data. Note that this object must be convertable to a variant according to the rules in the topic "Default Marshaling for Objects" in the SDK help
The HRESULT from the COM method
Open a metadata scope on an object description from a COM type library (I think)
A COM ITypeInfo interface pointer for a type in a type library
0 for read, 1 for write
GUID for the required interface, one of IID_IMetaDataEmit, IID_IMetadataImport, IID_IMetaDataAssemblyEmit or IID_IMetadataAssemblyImport
Output parameter which will be initialised to the new scope. Should be cast to the interface specified in
The HRESULT from the COM method
Get the system directory for the CIL Runtime
A char buffer big enough to hold the longest result
Size of the buffer
Number of chars written into or number of required chars if larger than
The HRESULT from the COM method
Find the best match for an assembly using the rules from the CIL Runtime
The HRESULT from the COM method
Find the best match for an assembly module using the rules from the CIL Runtime
The HRESULT from the COM method
Alternate interface for IMetaDataDispenserEx. tlbimp.exe creates these, I don't know why so I copied it
The GUID may be incorrect on this interface
Co class for the MetadataDispenserEx interface
Set of constants for useful GUIDS
This API isn't big endian friendly since it indexes directly into the memory that is stored in little endian format.
Interface for resolving assembly names to assemblies
Resolves assembly name to assembly metadata interface
Represents a type in metadata
Gets type presentable name
Gets array of optional modifiers
Gets array of required modifiers
Gets element type
Gets array rank
Gets sizes if specified. Note that sizes might be specified not for all dimensions.
Gets low bounds if specified. Note that low bounds might be specified not for all dimensions.
Interface which is used to access metadata of an assembly
Base interface for all metadata entities
Gets array of attributes having the specified fully qualified name
Checks if an entity has a custom attribute
Gets assemly token
Gets array of custom attributes defined for this metadata entity
Gets type info from its qualified name
Gets type from its qualified name
Gets array of types defined in the assembly
Gets assembly name
Gets array of referenced assemblies
Gets array of referenced assemblies' names
Gets assembly location
A type which corresponds to a type or instance of a generic class
Gets underlying metadata type
Gets type parameters if applicable
Represents a custom attribute
Gets constructor which is used for instantiating the attribute
Gets array of values passed as arguments to the used constructor
Gets explicitly initialized fields
Gets explicitly initialized properties
Entity which stores data about initialized field of a custom attribute
Gets initialized field
Gets value the field is initialized with
Entity which stores data about initialized property of a custom attribute
Gets initialized property
Gets value the property is initialized with