System.Reflection.Metadata Content type masked bits that correspond to values of . Just-In-Time (JIT) compiler optimization is disabled for the assembly. Just-In-Time (JIT) compiler tracking is enabled for the assembly. The assembly reference holds the full (unhashed) public key. Not applicable on assembly definition. The implementation of the referenced assembly used at runtime is not expected to match the version seen at compile time. The assembly contains Windows Runtime code. Specifies the hash algorithms used for hashing assembly files and for generating the strong name. Retrieves the MD5 message-digest algorithm. Due to collision problems with MD5, Microsoft recommends SHA256. MD5 was developed by Rivest in 1991. It is basically MD4 with safety-belts and, while it is slightly slower than MD4, it helps provide more security. The algorithm consists of four distinct rounds, which has a slightly different design from that of MD4. Message-digest size, as well as padding requirements, remain the same. A mask indicating that there is no hash algorithm. If you specify for a multi-module assembly, the common language runtime defaults to the SHA1 algorithm, since multi-module assemblies need to generate a hash. Retrieves a revision of the Secure Hash Algorithm that corrects an unpublished flaw in SHA. Due to collision problems with SHA1, Microsoft recommends SHA256. Retrieves a version of the Secure Hash Algorithm with a hash size of 256 bits. Retrieves a version of the Secure Hash Algorithm with a hash size of 384 bits. Retrieves a version of the Secure Hash Algorithm with a hash size of 512 bits. Specifies the security actions that can be performed using declarative security. The calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource. Check that all callers in the call chain have been granted the specified permission. Without further checks refuse Demand for the specified permission. The derived class inheriting the class or overriding a method is required to have the specified permission. Check that the immediate caller has been granted the specified permission. No declarative security action. Without further checks, refuse the demand for all permissions other than those specified. Request the minimum permissions required for code to run. This action can only be used within the scope of the assembly. Request additional permissions that are optional (not required to run). This request implicitly refuses all other permissions not specifically requested. This action can only be used within the scope of the assembly. Request that permissions that might be misused not be granted to the calling code. This action can only be used within the scope of the assembly. The resource is not exported from the assembly. The resource is exported from the assembly. Masks just the visibility-related attributes. Represents the shape of an array type. Initializes a new instance of the structure. The number of dimensions in the array. The size of each dimension. The lower-bound of each dimension. Gets the lower-bounds of all dimensions. Length may be smaller than rank, in which case the trailing dimensions have unspecified lower bounds. An array of lower-bounds. Gets the number of dimensions in the array. The number of dimensions. Gets the sizes of all dimensions. An array of sizes. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Gets a value that indicates whether the file contains metadata. if the file contains metadata, otherwise. Gets the hash value of the file content calculated using . A instance representing the hash value of the file content. Gets the file name, including its extension. A instance representing the file name with its extension. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents a collection of . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . A collection of assembly references. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. The builder is not writable; it has been linked with another one. Compares the current content of this writer with another one. A instance to compare with this one. Content is not available; the builder has been linked with another one. if equal; otherwise, . Returns a sequence of all blobs that represent the content of the builder. Content is not available; the builder has been linked with another one. A sequence of blobs. is . The builder is not writable; it has been linked with another one. is . The builder is not writable; it has been linked with another one. The builder is not writable; it has been linked with another one. Reserves a contiguous block of bytes. is negative. The builder is not writable; it has been linked with another one. Content is not available; the builder has been linked with another one. The range specified by and falls outside of the bounds of the buffer content. Content is not available; the builder has been linked with another one. Content is not available; the builder has been linked with another one. The range specified by and falls outside of the bounds of the buffer content. Content is not available; the builder has been linked with another one. Attempts to write a sequence of bytes to the builder. A return value indicates the number of bytes successfully written. is . is negative. The builder is not writable; it has been linked with another one. The number of bytes successfully written from . Writes a value to the builder. The value to write. The builder is not writable; it has been linked with another one. Writes a value to the builder. The value to write. The builder is not writable; it has been linked with another one. Writes a specified number of bytes from a buffer to the builder. The number of bytes to write. is . is negative. The builder is not writable, it has been linked with another one. Writes a specified number of occurrences of a byte value to the builder. The number of occurences of to write. is negative. The builder is not writable, it has been linked with another one. Writes the contents of a byte array to the builder. The byte array to write. is . The builder is not writable; it has been linked with another one. Writes a specified number of bytes starting at a specified index in a byte array to the builder. The number of bytes to write. is . The range specified by and falls outside of the bounds of . The builder is not writable; it has been linked with another one. Writes the contents of an immutable byte array to the builder. The array to write. is . The builder is not writable; it has been linked with another one. Writes a specified number of bytes starting at a specified index of an immutable array to the builder. The number of bytes to write. is . The range specified by and falls outside of the bounds of the . The builder is not writable; it has been linked with another one. Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. The value to write. can't be represented as a compressed unsigned integer. The builder is not writable; it has been linked with another one. Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. The value to write. can't be represented as a compressed signed integer. The builder is not writable; it has been linked with another one. Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. The constant value to write. is not of a constant type. The builder is not writable; it has been linked with another one. is . Content is not available, the builder has been linked with another one. is . Content is not available, the builder has been linked with another one. is default (). Content is not available, the builder has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Writes a reference to a heap (heap offset) or a table (row number). Heap offset or table row number. to encode the reference as a 16-bit integer; to encode it as a 32-bit integer. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Writes a string in SerString format (see ECMA-335-II 23.3 Custom attributes). Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Builder is not writable, it has been linked with another one. Writes a string in User String (#US) heap format (see ECMA-335-II 24.2.4 #US and #Blob heaps). Builder is not writable, it has been linked with another one. Writes a UTF16 (little-endian) encoded character array at the current position. is . Builder is not writable, it has been linked with another one. Writes UTF16 (little-endian) encoded string at the current position. is . Builder is not writable, it has been linked with another one. Writes a UTF8 encoded string at the current position. Constant value. to encode unpaired surrogates as specified; to replace them with a U+FFFD character. is . Builder is not writable, it has been linked with another one. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Creates a reader of the specified memory block. A pointer to the start of the memory block. Length in bytes of the memory block. is and is greater than zero. is negative. The current platform is not little-endian. Repositions the reader forward by the number of bytes required to satisfy the given alignment. Searches for a specified byte in the blob following the current position. The byte value to find. The index relative to the current position, or -1 if the byte is not found in the blob following the current position. Reads a Blob heap handle encoded as a compressed integer. Reads bytes starting at the current position. The number of bytes to read. bytes not available. The byte array. Reads bytes starting at the current position and writes them to the specified buffer starting at the specified offset. The number of bytes to read. The destination buffer the bytes read will be written to. The offset in the destination buffer where the bytes read will be written. bytes not available. Reads an unsigned compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. The data at the current position was not a valid compressed integer. The value of the compressed integer that was read. Reads a signed compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. The data at the current position was not a valid compressed integer. The value of the compressed integer that was read. Reads a constant value (see ECMA-335 Partition II section 22.9) from the current position. Error while reading from the blob. is not a valid . A boxed constant value. To avoid allocating the object use Read* methods directly. Reads a number. The data at the current position was not a valid number. Reads a type code encoded in a serialized custom attribute value. if the encoding is invalid. Reads a string encoded as a compressed integer containing its length followed by its contents in UTF8. Null strings are encoded as a single 0xFF byte. The encoding is invalid. A string value, or . Reads a type code encoded in a signature. The type code encoded in the serialized custom attribute value if the encoding is valid, or if the encoding is invalid. Reads a type handle encoded in a signature as TypeDefOrRefOrSpecEncoded (see ECMA-335 II.23.2.8). The handle when the encoding is valid. Otherwise, a handle where the property is . Reads a UTF16 (little-endian) encoded string starting at the current position. The number of bytes to read. bytes not available. The string. Reads a UTF8 encoded string starting at the current position. The number of bytes to read. bytes not available. The string. Repositions the reader to the start of the underlying memory block. Reads an unsigned compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. The value of the compressed integer that was read. if the value was read successfully. if the data at the current position was not a valid compressed integer. Reads a signed compressed integer value. See Metadata Specification section II.23.2: Blobs and signatures. The value of the compressed integer that was read. if the value was read successfully. if the data at the current position was not a valid compressed integer. Gets a pointer to the byte at the current position of the reader. Gets the total length of the underlying memory block. Gets or sets the offset from the start of the blob to the current position. The offset is set outside the bounds of the underlying reader. Gets the number of bytes remaining from current position to the end of the underlying memory block. Gets a pointer to the byte at the start of the underlying memory block. Compares the current content of this writer with another one. The range specified by and falls outside of the bounds of the buffer content. Range specified by and falls outside of the bounds of the buffer content. is . is negative. is negative. is . is . Range specified by and falls outside of the bounds of the . is . is . Range specified by and falls outside of the bounds of the . is . is negative. is . Implements compressed unsigned integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. can't be represented as a compressed unsigned integer. Implements compressed signed integer encoding as defined by ECMA-335-II chapter 23.2: Blobs and signatures. can't be represented as a compressed signed integer. Writes a constant value (see ECMA-335 Partition II section 22.9) at the current position. is not of a constant type. Writes a reference to a heap (heap offset) or a table (row number). Heap offset or table row number. to encode the reference as 16-bit integer, to encode as 32-bit integer. Writes a string in SerString format (see ECMA-335-II 23.3 Custom attributes). The builder is not writable; it has been linked with another one. Writes a string in User String (#US) heap format (see ECMA-335-II 24.2.4 #US and #Blob heaps). Builder is not writable, it has been linked with another one. Writes a UTF16 (little-endian) encoded string at the current position. is . Writes a UTF16 (little-endian) encoded string at the current position. is . Writes a UTF8 encoded string at the current position. is . Gets the parent handle (, , or ). Gets a type code that identifies the type of the constant value. Gets the constant value. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Specifies values that represent types of metadata constants. A Boolean type. An unsigned 1-byte integer. A character type. An 8-byte floating point type. A signed 2-byte integer type. A signed 4-byte integer type. A signed 8-byte integer type. An invalid type. A null reference. A signed 1-byte integer type. A 4-byte floating point type. A type. An unsigned 2-byte integer type. An unsigned 4-byte integer type. An unsigned 8-byte integer type. Provides information about a custom attribute. Decodes the arguments encoded in the value blob. Gets the constructor (the or ) of the custom attribute type. Gets the handle of the metadata entity the attribute is applied to. Gets the value of the attribute. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Represents a named argument decoded from a custom attribute signature. The type used to represent types of values decoded from the custom attribute signature. Initializes a new instance of the structure using the specified name, kind, type, and value. The name of the argument. The kind of the argument. The type of the argument. The value of the argument. Gets the kind of argument. The argument kind. Gets the name of the argument. The argument name. Gets the type of the argument. The argument type. Gets the value of the argument. An object containing the argument value. Specifies constants that define the kinds of arguments in a custom attribute signature. A field argument. A property argument. Represents a typed argument for a custom metadata attribute. The type of the argument. Initializes a new instance of the structure using the specified argument type and value. The type of the argument. The argument value. Gets the type of the argument. The argument type. Gets the value of the argument. The argument value. Represents a custom attribute of the type specified by . The attribute type. Initializes a new instance of the structure using the specified fixed arguments and named arguments. The fixed arguments. The named arguments. Gets the fixed arguments for the custom attribute. An immutable array of arguments. Gets the named arguments for the custom attribute value. An immutable array of arguments. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the offset (in bytes) from the start of the metadata blob to the start of the blob. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. The source document in the debug metadata. Gets the document content hash. Gets the hash algorithm used to calculate the (SHA1, SHA256, etc.). Gets the source code language (C#, VB, F#, etc.). Gets the document name blob. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. A representing a blob on #Blob heap in Portable PDB structured as Document Name. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Encodes array shape. The number of dimensions in the array (shall be 1 or more). Dimension sizes. The array may be shorter than but not longer. Dimension lower bounds, or default() to set all lower bounds to 0. The array may be shorter than but not longer. is outside of range [1, 0xffff], smaller than , or smaller than . is . Encodes custom attribute signature blob. Called first, to encode fixed arguments. Called second, to encode named arguments. or is . Encodes custom attribute signature blob. Returns a pair of encoders that must be used in the order they appear in the parameter list. Use first, to encode fixed arguments. Use second, to encode named arguments. Encodes Field Signature blob, with additional support for encoding ref fields, custom modifiers and typed references. Encoder of the field type. Encodes field signature blob. Encoder of the field type. Encodes local variable signature. Number of local variables. is not in range [0, 0x1fffffff]. Encoder of a sequence of local variables. Encodes method signature blob. Calling convention. Number of generic parameters. to encode an instance method signature, to encode a static method signature. is not in range [0, 0xffff]. An encoder of the rest of the signature including return value and parameters. Encodes method specification signature blob. Number of generic arguments. is not in range [0, 0xffff]. Encoder of generic arguments. Encodes permission set arguments. Number of arguments in the set. Encoder of the arguments of the set. Encodes a permission set blob. Number of attributes in the set. is not in range [0, 0x1fffffff]. Permission set encoder. Encodes property signature blob. to encode an instance property signature, to encode a static property signature. An encoder of the rest of the signature including return value and parameters, which has the same structure as method signature. Encodes type specification signature. Type encoder of the structured type represented by the type specification (it shall not encode a primitive type). Calculates a CustomAttributeType coded index for the specified handle. or . The handle type is unexpected. Calculates a HasConstant coded index for the specified handle. , , or . The handle type is unexpected. Calculates a HasCustomAttribute coded index for the specified handle. , , , , , , , , , , , , , , , , , , , , or . The handle type is unexpected. Calculates a HasCustomDebugInformation coded index for the specified handle. , , , , , , , , , , , , , , , , , , , , , , , , , or . The handle type is unexpected. Calculates a HasDeclSecurity coded index for the specified handle. , , or . The handle type is unexpected. Calculates a HasFieldMarshal coded index for the specified handle. or . The handle type is unexpected. Calculates a HasSemantics coded index for the specified handle. or . The handle type is unexpected. Calculates an implementation coded index for the specified handle. , or . The handle type is unexpected. Calculates a MemberForwarded coded index for the specified handle. , . The handle type is unexpected. Calculates a MemberRefParent coded index for the specified handle. , , , , or . The handle type is unexpected. Calculates a MethodDefOrRef coded index for the specified handle. or . The handle type is unexpected. Calculates a ResolutionScope coded index for the specified handle. , , or . The handle type is unexpected. Calculates a TypeDefOrRef coded index for the specified handle. or . The handle type is unexpected. Calculates a TypeDefOrRefOrSpec coded index for the specified handle. , or . The handle type is unexpected. Calculates a TypeOrMethodDef coded index for the specified handle. or . The handle type is unexpected. Emits branches and exception blocks in a method body. Adds catch region. Label marking the first instruction of the try block. Label marking the instruction immediately following the try block. Label marking the first instruction of the handler. Label marking the instruction immediately following the handler. The type of exception to be caught: , or . A label was not defined by an instruction encoder this builder is associated with. -or- is not a valid type handle. A label has default value. Adds fault region. Label marking the first instruction of the try block. Label marking the instruction immediately following the try block. Label marking the first instruction of the handler. Label marking the instruction immediately following the handler. A label was not defined by an instruction encoder this builder is associated with. A label has default value. Adds catch region. Label marking the first instruction of the try block. Label marking the instruction immediately following the try block. Label marking the first instruction of the handler. Label marking the instruction immediately following the handler. Label marking the first instruction of the filter block. A label was not defined by an instruction encoder this builder is associated with. A label has default value. Adds finally region. Label marking the first instruction of the try block. Label marking the instruction immediately following the try block. Label marking the first instruction of the handler. Label marking the instruction immediately following the handler. A label was not defined by an instruction encoder this builder is associated with. A label has default value. Clears the object's internal state, allowing the same instance to be reused. Encodes a custom modifier. , or . Is optional modifier. is or of an unexpected kind. Encoder of subsequent modifiers. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Adds an exception clause. Clause kind. Try block start offset. Try block length. Handler start offset. Handler length. , or , or nil if is not . Offset of the filter block, or 0 if the is not . is invalid. has an invalid value. -or- , , , or is out of range. Method body was not declared to have exception regions. Encoder for the next clause. Adds a fault clause. Try block start offset. Try block length. Handler start offset. Handler length. , or . is invalid. , , or is out of range. Method body was not declared to have exception regions. Encoder for the next clause. Adds a fault clause. Try block start offset. Try block length. Handler start offset. Handler length. , , or is out of range. Method body was not declared to have exception regions. Encoder for the next clause. Adds a fault clause. Try block start offset. Try block length. Handler start offset. Handler length. Offset of the filter block. , , or is out of range. Method body was not declared to have exception regions. Encoder for the next clause. Adds a finally clause. Try block start offset. Try block length. Handler start offset. Handler length. , , or is out of range. Method body was not declared to have exception regions. Encoder for the next clause. Returns if the region fits small format. Start offset of the region. Length of the region. Returns if the number of exception regions first small format. Number of exception regions. The underlying builder. if the encoder uses small format. Provides an extension method to access the TypeDefinitionId column of the ExportedType table. Gets a hint at the likely row number of the target type in the TypeDef table of its module. If the namespaces and names do not match, resolution falls back to a full search of the target TypeDef table. Ignored and should be zero if is . Provides encoder for field signature blob, with additional support for encoding ref fields, custom modifiers and typed references. Initializes a new instance of the struct. Builder to write encoded field signature to. Gets the custom modifiers encoder to the field signature. The encoder that specifies the custom modifiers to the field signature. Encodes the field type signature. Determines if the field is ByRef Encoder of the field type. Write . Underlying builder where encoded field signature is written to. Encodes Common Intermediate Language (CIL) instructions. Creates an encoder backed by code and control-flow builders. Builder to write encoded instructions to. Builder tracking labels, branches and exception handlers. Must be specified to be able to use some of the control-flow factory methods of , such as , , etc. Encodes a branch instruction. Branch instruction to encode. Label of the target location in instruction stream. is not a branch instruction. -or- was not defined by this encoder. is . has default value. Encodes call instruction and its operand. Encodes call instruction and its operand. Encodes call instruction and its operand. Encodes call instruction and its operand. Encodes calli instruction and its operand. Defines a label that can later be used to mark and refer to a location in the instruction stream. is . Label handle. Encodes argument load instruction. Index of the argument. is negative. Encodes argument address load instruction. Index of the argument. is negative. Encodes constant load instruction. Encodes constant load instruction. Encodes constant load instruction. Encodes constant load instruction. Encodes local variable load instruction. Index of the local variable slot. is negative. Encodes local variable address load instruction. Index of the local variable slot. is negative. Encodes ldstr instruction and its operand. Associates specified label with the current IL offset. Label to mark. is . was not defined by this encoder. has default value. Encodes specified op-code. Encodes argument store instruction. Index of the argument. is negative. Encodes local variable store instruction. Index of the local variable slot. is negative. Starts encoding a switch instruction. The number of branches the instruction will have. is less than or equal to zero. was not called on the returned value exactly times. A that will be used to emit the labels for the branches. Encodes a token. Encodes a token. Underlying builder where encoded instructions are written to. Builder tracking labels, branches and exception handlers. Offset of the next encoded instruction. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . 1-based id identifying the label within the context of a . Provides methods for encoding literals. Creates a new instance of the class with the specified blob builder. Returns the encoder used to encode the literal value. The encoder of the literal value. Encodes the type and the value of a literal using the specified delegates. A delegate used to encode the type of the literal. Called first by this method. A delegate used to encode the value of the literal. Called second by this method. or is . Returns a pair of encoders that must be used to encode the type and value of a literal in the order they appear in the parameter list. When this method returns, a custom attribute element type encoder used to encode the type of the literal. When this method returns, a scalar encoded used to encode the value of the literal. Encodes the type and the items of a vector literal using the specified delegates. A delegate used to encode the type of the vector. Called first by this method. A delegate used to encode the items of the vector. Called second by this method. or is . Returns a pair of encoders that must be used to encode the type and the items of a vector literal in the order they appear in the parameter list. When this method returns, a custom attribute array type encoder used to encode the type of the vector. When this method returns, a vector encoder used to encode the items of the vector. Gets a vector encoder used to encode the items of a vector. A vector encoder used to encode the items of a vector. Calculates the handle of the entity within the metadata generation it is defined in, given a handle of an entity in an aggregate metadata. Handle of an entity in an aggregate metadata. The generation the entity is defined in. Handle of the entity within the metadata . The MetadataBuilder class writes metadata for an assembly in a highly performant manner. It is designed for use by compilers and other assembly generation tools. Creates a builder for metadata tables and heaps. The start offset of the User String heap. The cumulative size of User String heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. The start offset of the String heap. The cumulative size of String heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. The start offset of the Blob heap. The cumulative size of Blob heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. The start offset of the Guid heap. The cumulative size of Guid heaps of all previous EnC generations should be 0 unless the metadata is EnC delta metadata. Offset is too big. Offset is negative. is not a multiple of size of GUID. Adds a default value for a parameter, field or property. The parent entity handle, which can be one of the following: , , or . The constant value. doesn't have the expected handle kind. A handle to the added constant. Adds a custom attribute. An entity to attach the custom attribute to: a , , , , , , , , , , , , , , , , , , , , , or a . A custom attribute constructor: a or . A custom attribute value blob. doesn't have the expected handle kind. A handle to the added custom attribute. Adds custom debug information. An entity to attach the debug information to: a , , , , , , , , , , , , , , , , , , , , , , , , , , or a . The information kind. Determines the structure of the blob. The custom debug information blob. doesn't have the expected handle kind. A handle to the added custom debug information. Adds a declarative security attribute to a type, method, or assembly. The parent entity handle, which can be one of the following: a , , or a . A declarative security action. The permission set blob. doesn't have the expected handle kind. A handle to the added declarative security attribute. Adds document debug information. The document name blob. THe GUID of the hash algorithm used to calculate the value of . The hash of the document content. The GUID of the language. A handle to the added document. Adds an event definition. The event attributes. The event name. The type of the event: a , , or . doesn't have the expected handle kind. A handle to the added event definition. Adds an exported type. The type attributes. The type namespace. The type name. The implementation entity handle, which can be one of the following: an , , or . The type definition ID. doesn't have the expected handle kind. A handle to the added exported type. Adds a field definition. The field attributes. The field name. The field signature. Use to construct the blob. A handle to the added field definition. Defines a field layout of a field definition. The field definition handle. The byte offset of the field within the declaring type instance. Adds a mapping from a field to its initial value stored in the PE image. The field definition handle. The offset within the block in the PE image that stores initial values of mapped fields (usually in the .text section). is negative. Adds a generic parameter definition. The parent entity handle, which can be either a or . The generic parameter attributes. The parameter name. The zero-based parameter index. doesn't have the expected handle kind. is greater than UInt16.MaxValue. A handle to the added generic parameter. Adds a type constraint to a generic parameter. The generic parameter to constrain. The type constraint, which can be one of the following: a , or a . doesn't have the expected handle kind. A handle to the added generic parameter constraint. Adds local scope debug information. The parent scope handle. The import scope handle. A handle to the added import scope. Adds an interface implementation to a type. The type implementing the interface. The interface being implemented, which can be one of the following: , , or . doesn't have the expected handle kind. A handle to the added interface implementation. Adds local constant debug information. The name of the variable. The LocalConstantSig blob. A handle to the added local constant. Adds local scope debug information. The containing method. The handle of the associated import scope. If the scope declares variables, set this to the handle of the first one. Otherwise, set this to the handle of the first variable declared by the next scope definition. If no scope defines any variables, . If the scope declares constants, set this the handle of the first one. Otherwise, set this to the handle of the first constant declared by the next scope definition. If no scope defines any constants, . The offset of the first instruction covered by the scope. The length (in bytes) of the scope. A handle to the added local scope. Adds local variable debug information. The local variable attributes. The zero-base index of the local variable in the local signature. The name of the variable. is greater than UInt16.MaxValue. A handle to the added local variable. Adds a manifest resource. The manifest resource attributes. The name of the manifest resource. The implementation entity handle, which can be one of the following: , , or . Specifies the byte offset within the referenced file at which this resource record begins. doesn't have the expected handle kind. A handle to the added manifest resource. Adds marshalling information to a field or a parameter. The parent entity handle, which can be one of the following: or . The descriptor blob. doesn't have the expected handle kind. Adds a MemberRef table row. The containing entity, which can be one of the following: , , , , or . The member name. The member signature. doesn't have the expected handle kind. A handle to the added member reference. Adds method debug information. The handle of a single document containing all sequence points of the method, or if the method doesn't have sequence points or spans multiple documents. The sequence Points blob, or if the method doesn't have sequence points. A handle to the added method debug information. Adds a method definition. The method attributes. The method implementation attributes. The method name. The method signature. Offset within the block in the PE image that stores method bodies (the IL stream), or -1 if the method doesn't have a body. If the method declares parameters in the Params table, set this to the handle of the first one. Otherwise, set this to the handle of the first parameter declared by the next method definition. If no parameters are declared in the module, . is less than -1. A handle to the added method definition. Defines an implementation for a method declaration within a type. The type definition. The method body entity handle, which can be one of the following: or . The method declaration entity handle, which can be one of the following: or . or doesn't have the expected handle kind. A handle to the added method implementation. Adds import information to a method definition. The method definition handle. The method import attributes. The unmanaged method name. The module containing the unmanaged method. Associates a method (a getter, a setter, an adder, etc.) with a property or an event. The association entity handle, which can be one of the following: or . The method semantics attributes. The method definition. doesn't have the expected handle kind. Adds a method specification (an instantiation). The generic method entity handle, which can be one of the following: or . The instantiation blob encoding the generic arguments of the method. doesn't have the expected handle kind. A handle to the added method specification. Defines a nesting relationship to specified type definitions. The nested type definition handle. The enclosing type definition handle. Adds a parameter definition. The parameter attributes. Optional. The parameter name. The sequence number of the parameter. A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onward. is greater than UInt16.MaxValue. A handle to the added parameter. Adds a property definition. The property attributes. The property name. The signature of the property. A handle to the added property definition. Adds state machine method debug information. The handle of the method of the state machine (the compiler-generated method). The handle of the kickoff method (the user defined iterator/async method). Adds a type definition. The type attributes. The type namespace. The type name. The base type entity handle, which can be one of the following: , , , or . If the type declares fields, set this to the handle of the first one. Otherwise, set this to the handle of the first field declared by the next type definition. If no type defines any fields in the module, . If the type declares methods, the handle of the first one. Otherwise, the handle of the first method declared by the next type definition. If no type defines any methods in the module, . doesn't have the expected handle kind. A handle to the added type definition. Defines a type layout of a type definition. The type definition. Specifies that fields should be placed within the type instance at byte addresses which are a multiple of , or at natural alignment for that field type, whichever is smaller. Its value should be one of the following: 0, 1, 2, 4, 8, 16, 32, 64, or 128. A value of zero indicates that the packing size used should match the default for the current platform. Indicates a minimum size of the type instance and is intended to allow for padding. The amount of memory allocated is the maximum of the size calculated from the layout and . Note that if this directive applies to a value type, then the size will be less than 1 MB. Adds a type reference. The entity declaring the target type, which can be one of the following: , , , , or . The type reference namespace. The type reference name. doesn't have the expected handle kind. A handle to the added type reference. Adds the specified blob to the Blob heap, if it's not there already. The array containing the blob. is . A handle to the added or existing blob. Adds the specified blob from a byte array to the Blob heap, if it's not there already. The array containing the blob. is . A handle to the added or existing blob. Adds the specified blob from an immutable byte array to the Blob heap, if it's not there already. The blob builder instance containing the blob. is . A handle to the added or existing blob. Encodes a string using UTF16 encoding to a blob and adds it to the Blob heap, if it's not there already. The string to add. is . A handle to the added or existing blob. Encodes a string using UTF8 encoding to a blob and adds it to the Blob heap, if it's not there already. The value to add. to encode the unpaired surrogates as specified; to replace them with the U+FFFD character. is . A handle to the added or existing blob. Encodes a constant value to a blob and adds it to the Blob heap, if it's not there already. Uses UTF16 to encode string constants. The constant value to add. A handle to the added or existing blob. Encodes a debug document name and adds it to the Blob heap, if it's not there already. The document name to add. is . A handle to the added or existing document name blob. Adds the specified Guid to the Guid heap, if it's not there already. The Guid to add. A handle to the added or existing Guid. Adds the specified string to the string heap, if it's not there already. The string to add. is . A handle to the added or existing string. Adds the specified string to the user string heap, if it's not there already. The string to add. The remaining space on the heap is too small to fit the string. is . A handle to the added or existing string. This value may be used in . Returns the current number of items in the specified table. The table index. is not a valid table index. The number of items in the table. Returns the current number of items in each table. An array of size , with each item filled with the current row count of the corresponding table. Reserves space on the Guid heap for a GUID. The remaining space on the heap is too small to fit the string. A handle to the reserved Guid and a representing the GUID blob as stored on the heap. Reserves space on the user string heap for a string of the specified length. The number of characters to reserve. The remaining space on the heap is too small to fit the string. is negative. A handle to the reserved user string and a representing the entire User String blob (including its length and terminal character). The handle may be used in . Use to fill in the blob content. Sets the capacity of the specified heap. The heap index. The number of bytes. is not a valid heap index. -or- is negative. Sets the capacity of the specified table. The table index. The number of rows in the table. is not a valid table index. -or- is negative. Provides extension methods for working with certain raw elements of the ECMA-335 metadata tables and heaps. Enumerates entries of EnC log. is . Enumerates entries of EnC map. is . Returns the offset from the start of metadata to the specified heap. is . is not a valid heap index. Returns the size of the specified heap. is . is not a valid heap index. Returns the handle to the that follows the given one in the heap or a nil handle if it is the last one. is . Returns the a handle to the string that follows the given one in the string heap, or a nil handle if it is the last one. is . Returns the a handle to the UserString that follows the given one in the UserString heap or a nil handle if it is the last one. is . Returns the offset from the start of metadata to the specified table. is . is not a valid table index. Returns the number of rows in the specified table. is . is not a valid table index. Returns the size of a row in the specified table. is . is not a valid table index. Enumerate types that define one or more events. The resulting sequence corresponds exactly to entries in EventMap table, i.e. n-th returned is stored in n-th row of EventMap. Enumerate types that define one or more properties. The resulting sequence corresponds exactly to entries in the property map table, that is, the n-th returned is stored in n-th row of the property map. Given a type handle and a raw type kind found in a signature blob determines whether the target type is a value type or a reference type. Builder of a Metadata Root to be embedded in a Portable Executable image. Creates a builder of a metadata root. Builder populated with metadata entities stored in tables and values stored in heaps. The entities and values will be enumerated when serializing the metadata root. The version string written to the metadata header. The default value is "v4.0.30319". to suppress basic validation of metadata tables during serialization; otherwise, . is . is too long (the number of bytes when UTF8-encoded must be less than 255). Serializes metadata root content into the given . Builder to write to. The relative virtual address of the start of the method body stream. Used to calculate the final value of RVA fields of MethodDef table. The relative virtual address of the start of the field init data stream. Used to calculate the final value of RVA fields of FieldRVA table. is . or is negative. A metadata table is not ordered as required by the specification and is . The metadata version. A string that represents the metadata version. Returns sizes of various metadata structures. Determines if basic validation of metadata tables should be suppressed. The validation verifies that entries in the tables were added in order required by the ECMA specification. It does not enforce all specification requirements on metadata tables. to suppress basic validation of metadata tables; otherwise, . Provides information on sizes of various metadata structures. Returns aligned size of the specified heap. External table row count. Exact (unaligned) heap sizes. Table row counts. Maximum number of tables that can be present in Ecma335 metadata. Maximum number of tables that can be present in Ecma335 metadata. Creates an entity handle from a token value. is not a valid metadata entity token. Creates an from a token value. is not a valid table index. Gets the offset of metadata heap data that corresponds to the specified . Zero based offset, or -1 if can only be interpreted in a context of a specific or . Gets the offset of metadata heap data that corresponds to the specified . 1-based index into the #Guid heap. Unlike other heaps, which are essentially byte arrays, the #Guid heap is an array of 16-byte GUIDs. Gets the offset of metadata heap data that corresponds to the specified . An offset in the corresponding heap, or -1 if can only be interpreted in a context of a specific or . Gets the offset of metadata heap data that corresponds to the specified in the context of . The operation is not supported for the specified . The is invalid. Zero based offset, or -1 if isn't a metadata heap handle. Gets the offset of metadata heap data that corresponds to the specified . Zero-based offset, or -1 if can only be interpreted in a context of a specific or . Gets the offset of metadata heap data that corresponds to the specified . Zero-based offset. Gets the row number of a metadata table entry that corresponds to the specified . One based row number, or -1 if can only be interpreted in a context of a specific . See . Gets the row number of a metadata table entry that corresponds to the specified in the context of . The is not a valid metadata table handle. One based row number. Gets the metadata token of the specified . Metadata token, or 0 if can only be interpreted in a context of a specific . Gets the metadata token of the specified . Handle represents a metadata entity that doesn't have a token. A token can only be retrieved for a metadata table handle or a heap handle of type . Metadata token, or 0 if can only be interpreted in a context of a specific . Gets the metadata token of the specified in the context of . The operation is not supported for the specified . Metadata token. Gets the metadata token of the specified in the context of . Handle represents a metadata entity that doesn't have a token. A token can only be retrieved for a metadata table handle or a heap handle of type . The operation is not supported for the specified . Metadata token. Creates a handle from a token value. is not a valid metadata token. It must encode a metadata table entity or an offset in the heap. Creates an from a token value. is not a valid table index. Gets the of the heap corresponding to the specified . Handle type. Heap index. if the handle type corresponds to an Ecma335 heap; otherwise. Gets the of the table corresponding to the specified . Handle type. Table index. if the handle type corresponds to an Ecma335 or Portable PDB table; otherwise. Defines method body attributes. Initializes any locals the method defines to zero and dynamically allocates local memory. Performs no local memory initialization. Provides an encoder for a method body stream. Encodes a method body and adds it to the method body stream, using the provided code size, maximum stack size, number of exception regions, local variables' signature handle, method body attributes and allowing to indicate whether the exception regions should be encoded in small format or not. The number of bytes to be reserved for instructions. The maximum stack size. The number of exception regions. if the exception regions should be encoded in small format; otherwise. The local variables' signature handle. The method body attributes. , , or is out of the allowed range. The offset of the encoded body within the method body stream. Encodes a method body and adds it to the method body stream, using the provided code size, maximum stack size, number of exception regions, local variables' signature handle, method body attributes, allowing to indicate whether the exception regions should be encoded in small format or not, and allowing to indicate whether the method should allocate from the dynamic local memory pool or not. The number of bytes to be reserved for instructions. The maximum stack size. The number of exception regions. if the exception regions should be encoded in small format; otherwise. The local variables' signature handle. The method body attributes. if the method allocates from the dynamic local memory pool (the instruction); otherwise. , , or is out of the allowed range. The offset of the encoded body within the method body stream. Encodes a method body and adds it to the method body stream. The instruction encoder. The maximum stack size. The local variables' signature handle. The method body attributes. has default value. is out of range [0, UInt16.MaxValue]. A label targeted by a branch in the instruction stream has not been marked, or the distance between a branch instruction and the target label doesn't fit the size of the instruction operand. The offset of the encoded body within the method body stream. Encodes a method body and adds it to the method body stream, using the provided instruction encoder, maximum stack size, local variables' signature handle, method body attributes, and allowing to indicate whether the method should allocate from the dynamic local memory pool or not. The instruction encoder. The maximum stack size. The local variables' signature handle. The method body attributes. if the method allocates from the dynamic local memory pool (the IL contains the instruction); otherwise. has default value. is out of range [0, UInt16.MaxValue]. A label targeted by a branch in the instruction stream has not been marked, or the distance between a branch instruction and the target label doesn't fit the size of the instruction operand. The offset of the encoded body within the method body stream. Describes a method body. This class is meant to used along with the class. Gets an encoder object that can be used to encode exception regions to the method body. An exception region encoder instance. Gets a blob reserved for instructions. A blob reserved for instructions. Gets the offset of the encoded method body in the method body stream. The offset of the encoded method body in the method body stream. Provides an encoder for method signatures. Encodes the provided return type and parameters. The number of parameters. The method that is called first to encode the return type. The method that is called second to encode the parameters. or is . Encodes the provided return type and parameters, which must be used in the order they appear in the parameter list. The number of parameters. The method that is called first to encode the return types. The method that is called second to encode the parameters. Initializes a new instance of the structure. A builder for encoding the named argument. Encodes a named argument (a field or property). to encode a field, to encode a property. The method to call first to encode the type of the argument. The method to call second to encode the name of the field or property. The method to call third to encode the literal value of the argument. , or is . Encodes a named argument (a field or property) and returns three encoders that must be used in the order they appear in the parameter list. to encode a field, to encode a property. The method to call first to encode the type of the argument. The method to call second to encode the name of the field or property. The method to call third to encode the literal value of the argument. Represents the builder of a Portable PDB image. Creates a builder of a Portable PDB image. A builder populated with debug metadata entities stored in tables and values stored in heaps. The entities and values are enumerated when serializing the Portable PDB image. The row counts of all tables that the associated type system metadata contain. Each slot in the array corresponds to a table (). The length of the array must be equal . An entry point method definition handle. A function that calculates the ID of content represented as a sequence of blobs. If not specified, a default function that ignores the content and returns a content ID based on the current time is used (). You must specify a deterministic function to produce a deterministic Portable PDB image. or is . Serializes portable PDB content into the given . The builder to write to. is . The ID of the serialized content. Encodes a constant literal. A constant of type , , , , , , , , , , , (encoded as a two-byte Unicode character), (encoded as SerString), or (encoded as the underlying integer value). Unexpected constant type. Encodes a literal of type . Encodes a literal of type (which can possibly be ). The name of the type, or . is empty. Decodes signature blobs. Creates a new . The provider used to obtain type symbols as the signature is decoded. The metadata reader from which the signature was obtained. It may be if the given provider allows it. Additional context needed to resolve generic parameters. Decodes a field signature blob and advances the reader past the signature. The blob reader positioned at a field signature. The decoded field type. Decodes a local variable signature blob and advances the reader past the signature. The blob reader positioned at a local variable signature. The local variable signature is invalid. The local variable types. Decodes a method (definition, reference, or standalone) or a property signature blob. A blob reader positioned at a method signature. The method signature is invalid. The decoded method signature. Decodes a method specification signature blob and advances the reader past the signature. A blob reader positioned at a valid method specification signature. The types used to instantiate a generic method via the method specification. Decodes a type embedded in a signature and advances the reader past the type. The blob reader positioned at the leading . to allow a to follow a (CLASS | VALUETYPE) in the signature; otherwise. The reader was not positioned at a valid signature type. The decoded type. Encodes a type in a signature. Creates a . The where the signature will be written. Encodes an array type. Called first, to encode the type of the element. Called second, to encode the shape of the array. or is . Encodes an array type. Returns a pair of encoders that must be used in the order they appear in the parameter list. Use first, to encode the type of the element. Use second, to encode the shape of the array. Encodes . Encodes . Encodes . Starts a signature of a type with custom modifiers. Encodes . Starts a function pointer signature. Calling convention. Function pointer attributes. Generic parameter count. is invalid. is not in range [0, 0xffff]. Starts a generic instantiation signature. or . Generic argument count. to mark the type as value type, to mark it as a reference type in the signature. doesn't have the expected handle kind. is not in range [1, 0xffff]. Encodes a reference to type parameter of a containing generic method. Parameter index. is not in range [0, 0xffff]. Encodes a reference to type parameter of a containing generic type. Parameter index. is not in range [0, 0xffff]. Encodes . Encodes . Encodes . Encodes . Encodes . Starts pointer signature. Writes primitive type code. Any primitive type code except for and . is not valid in this context. Encodes . Encodes . Encodes . Starts SZ array (vector) signature. Encodes a reference to a type. or . to mark the type as value type, to mark it as a reference type in the signature. doesn't have the expected handle kind. Encodes . Encodes . Encodes . Encodes . Encodes . Encodes a void pointer (void*). The where the signature is written to. Encodes the branches of an IL switch instruction. Encodes a branch that is part of a switch instruction. Represents a metadata entity (such as a type reference, type definition, type specification, method definition, or custom attribute). Returns a value that indicates whether the current instance and the specified object are equal. The object to compare with the current instance. if is an and is equal to the current instance; otherwise, . Returns a value that indicates whether the current instance and the specified are equal. The value to compare with the current instance. if the current instance and are equal; otherwise, . Returns the hash code for this instance. The hash code for this instance. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets a TypeRef, TypeDef, or TypeSpec handle if the region represents a catch, or a nil token otherwise (()). Gets the IL offset of the start of the filter block, or -1 if the region is not a filter. Gets the length in bytes of the exception handler. Gets the starting IL offset of the exception handler. Gets the length in bytes of the try block. Gets the starting IL offset of the try block. Gets a handle to resolve the implementation of the target type. representing another module in the assembly. representing another assembly if is . representing the declaring exported type in which this was is nested. Gets the name of the target type, or if the type is nested or defined in a root namespace. A struct instance. Gets the full name of the namespace that contains the target type, or if the type is nested or defined in a root namespace. Gets the definition handle of the namespace where the target type is defined, or if the type is nested or defined in a root namespace. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents a collection of instances. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Returns the field layout offset, or -1 if it is not available. The field definition offset, or -1 if it is not available. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the attributes specifying variance and constraints. Gets the zero-based index of the parameter within the declaring generic type or method declaration. Gets the name of the generic parameter. Gets a or that represents the parent of this generic parameter. Gets the constrained . Gets a handle (, , or ) specifying from which type this generic parameter is constrained to derive, or which interface this generic parameter is constrained to implement. An instance. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents a collection of constraints of a generic type parameter. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Gets the element at the specified index in the read-only list. The zero-based index of the element to get. The element at the specified index in the read-only list. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents a collection of generic type parameters of a method or type. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Gets the element at the specified index in the read-only list. The zero-based index of the element to get. The element at the specified index in the read-only list. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents any metadata entity (such as a type reference, a type definition, a type specification, a method definition, or a custom attribute) or value (a string, blob, guid, or user string). Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Compares two entity handles. The first entity handle to compare. The second entity handle to compare. Zero if the two entity handles are equal, and a non-zero value of they are not. Compares two handles. The first handle to compare. The second handle to compare. Zero if the two handles are equal, and a non-zero value if they are not. Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. if the specified objects are equal; otherwise, . Determines whether the specified objects are equal. The first object of type to compare. The second object of type to compare. if the specified objects are equal; otherwise, . Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. Returns a hash code for the specified object. The for which a hash code is to be returned. A hash code for the specified object. Gets the type symbol for a generalized array of the given element type and shape. The type of the elements in the array. The shape (rank, sizes, and lower bounds) of the array. Gets the type symbol for a managed pointer to the given element type. Gets the type symbol for a generic instantiation of the given generic type with the given type arguments. Gets the type symbol for an unmanaged pointer to the given element type. Gets the representation for . Gets the type symbol for the given serialized type name. The serialized type name in so-called "reflection notation" format (as understood by the method.) The name is malformed. A instance. Gets the underlying type of the given enum type symbol. An enum type. The given type symbol does not represent an enum. A type code that indicates the underlying type of the enumeration. Verifies if the given type represents . The type to verify. if the given type is a , otherwise. Calculates the size of the specified branch instruction operand. The branch op-code. The specified is not a branch op-code. 1 if is a short branch, or 4 if it is a long branch. Gets a long form of the specified branch op-code. The branch op-code. The specified is not a branch op-code. The long form of the branch op-code. Gets a short form of the specified branch op-code. The branch op-code. The specified is not a branch op-code. The short form of the branch op-code. Verifies if the specified op-code is a branch to a label. if the specified op-code is a branch to a label, otherwise. The exception that is thrown when an attempt to write metadata exceeds a limit given by the format specification. For example, when the heap size limit is exceeded. Initializes a new instance of the class. Initializes a new instance of the class with serialized data. The object that holds the serialized object data. The contextual information about the source or destination. Initializes a new instance of the class with a specified error message. The error message that explains the reason for this exception. Initializes a new instance of the class with a specified error message and the exception that is the cause of this exception. The error message that explains the reason for this exception. The exception that is the cause of the current exception, or if no inner exception is specified. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Advances the enumerator to the next element of the collection. Invalid blob format. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Provides information about the lexical scope within which a group of imports are available. This information is stored in debug metadata. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Gets the interface that is implemented (, , or ). Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the type symbol for the function pointer type of the given method . The type symbol for the function pointer type. Gets the type symbol for the generic method parameter at the given zero-based . The type symbol for the generic method parameter at . Gets the type symbol for the generic type parameter at the given zero-based . The type symbol for the generic type parameter at the given zero-based . Gets the type symbol for a type with a custom modifier applied. The modifier type applied. The type symbol of the underlying type without modifiers applied. if the modifier is required, if it's optional. The type symbol. Gets the type symbol for a local variable type that is marked as pinned. The type symbol for the local variable type. Gets the type symbol for a type specification. The metadata reader that was passed to the signature decoder. It may be . The context that was passed to the signature decoder. The type specification handle. The kind of the type, as specified in the signature. To interpret this value, use . The type symbol for the type specification. Gets the type symbol for a primitive type. The type symbol for . Gets the type symbol for a type definition. The metadata reader that was passed to the signature decoder. It may be . The type definition handle. The kind of the type, as specified in the signature. To interpret this value use . The type symbol. Gets the type symbol for a type reference. The metadata reader that was passed to the signature decoder. It may be . The type definition handle. The kind of the type as specified in the signature. To interpret this value, use . The type symbol. Gets the type symbol for a single-dimensional array of the given element type with a lower bounds of zero. A instance. Provides information about local constants. This information is stored in debug metadata. Gets the constant signature. The constant signature. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Provides information about the scope of local variables and constants. This information is stored in debug metadata. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Provides information about local variables. This information is stored in debug metadata. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the manifest resource attributes. A bitwise combination of the enumeration values that specify the manifest resource attributes. Gets the implementation entity handle. An EntityHandle instance. If the property is , the returned handle will have default values. Gets the resource name. The resource name. Gets the byte offset within the referenced file at which this resource record begins. The byte offset within the referenced file at which this resource record begins. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents a collection of instances. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Determines if the member reference is to a method or field. The member reference signature is invalid. One of the enumeration values that indicates the kind of member reference. Gets the parent entity handle. An entity handle instance. If the property is , the returned handle will have default values. Gets a handle to the signature blob. A handle to the signature blob. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents a collection of instances. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Specifies constants that indicate whether a references a method or field. The references a field. The references a method. CLI metadata. Windows metadata generated by managed compilers. Windows metadata. Reads metadata as defined by the ECMA 335 CLI specification. Initializes a new instance of the class from the metadata stored at the given memory location. A pointer to the first byte in a block of metadata. The number of bytes in the block. Initializes a new instance of the class from the metadata stored at the given memory location. Initializes a new instance of the class from the metadata stored at the given memory location. is not positive. is . The encoding of is not . The current platform is big-endian. Bad metadata header. Gets the for a given file. The path to the assembly for which is to be returned. is . is invalid. is not found. is not a valid assembly. An that represents the given . Gets the information decoded from #Pdb stream, or if the stream is not present. The information decoded from #Pdb stream, or if the stream is not present. Gets a value that indicates whether the metadata represents an assembly. if the metadata represents an assembly; otherwise, . Gets the metadata kind. One of the enumeration values that specifies the metadata kind. Gets the length of the underlying data. The length of the underlying data. Gets the pointer to the underlying data. The pointer to the underlying data. Gets the version string read from metadata header. The version string read from metadata header. Gets the passed to the constructor. A bitwise combination of the enumeration values that describes the enum value. Gets the comparer used to compare strings stored in metadata. The comparer used to compare strings stored in metadata. Gets the decoder used by the reader to produce string instances from UTF8-encoded byte sequences. The decoder used by the reader to produce string instances from UTF8-encoded byte sequences. Windows Runtime projections are enabled (on by default). The options that are used when a is obtained via an overload that does not take a argument. All options are disabled. Provides a for metadata stored in an array of bytes, a memory block, or a stream. Disposes all memory allocated by the reader. Creates a metadata provider over an image stored in memory. Pointer to the start of the metadata blob. The size of the metadata blob. is . is negative. The new metadata provider. Creates a provider over a byte array. Metadata image. is . The new provider. Creates a provider for a stream of the specified size beginning at its current position. A instance. Options specifying how sections of the image are read from the stream. Size of the metadata blob in the stream. If not specified, the metadata blob is assumed to span to the end of the stream. is . doesn't support read and seek operations. Size is negative or extends past the end of the stream. Error reading from the stream (only when is specified). The new provider. Creates a portable PDB metadata provider over a blob stored in memory. Pointer to the start of the portable PDB blob. The size of the portable PDB blob. is . is negative. The new portable PDB metadata provider. Creates a portable PDB metadata provider over a byte array. A portable PDB image. is . The new portable PDB metadata provider . Creates a provider for a stream of the specified size beginning at its current position. The stream. Options specifying how sections of the image are read from the stream. Size of the metadata blob in the stream. If not specified, the metadata blob is assumed to span to the end of the stream. is . doesn't support read and seek operations. Size is negative or extends past the end of the stream. A instance. Gets a from a . A bitwise combination of the enumeration values that represent the configuration when reading the metadata. The encoding to use. The encoding of is not . The current platform is big-endian. IO error while reading from the underlying stream. Provider has been disposed. A instance. By default, the stream is disposed when is disposed and sections of the PE image are read lazily. Keeps the stream open when the is disposed. Reads PDB metadata into memory right away. The underlying file may be closed and even deleted after the is constructed. closes the stream automatically by the time the constructor returns unless is specified. Provides string comparison helpers to query strings in metadata while avoiding allocation if possible. Provides the with a custom mechanism for decoding byte sequences in metadata that represent text. Initializes a new instance of the class using the given encoding. The encoding to use. Obtains strings for byte sequences in metadata. Override this to cache strings if required. Otherwise, it is implemented by forwarding straight to and every call will allocate a new string. Pointer to bytes to decode. Number of bytes to decode. The decoded string. Gets the default decoder used by to decode UTF-8 when no decoder is provided to the constructor. The default decoder used by to decode UTF-8. Gets the encoding used by this instance. The encoding used by this instance. Represents the method body in ECMA 335 assembly. Creates a new instance of the class using the specified blob reader. The blob reader to read the method body. The method body data in the specified blob reader is invalid. A new instance of the class. Gets the IL bytecode of this method body as a byte array. A byte array with the IL bytecode of this method body. Gets the IL bytecode of this method body as an immutable array. An immutable byte array with the IL bytecode of this method body. Gets a blob reader that reads the IL bytecode of this method body. A blob reader that reads the IL bytecode of this method body. Gets the array of exception regions in this method body. The array of exception regions. Gets the handle to the local variables signature. The handle to the local variables signature. Gets a value that indicates whether local variables in this method are initialized to default values of their types. if local variables are initialized; otherwise, . Gets the maximum number of items on the evaluation stack for this method. The maximum number of items on the evaluation stack. Gets the size of the method body, including the header, IL, and exception regions. The size of the method body. Provides debug information associated with a method definition. This information is stored in debug metadata. Returns a collection of sequence points decoded from . A collection of sequence points. Returns the kickoff method of the state machine. The kickoff method of the state machine, if the method is a MoveNext method of a state machine. Otherwise, it returns a handle whose property is . Gets the handle of the single document containing all sequence points of the method. The handle of the single document containing all sequence points of the method, or a handle whose property is if the method doesn't have sequence points or spans multiple documents. Returns a local signature handle. A local signature handle, or a handle whose property is if the method doesn't define any local variables. Returns a blob encoding sequence points. A blob encoding sequence points, or a handle whose property is if the method doesn't have sequence points. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns a handle to a that corresponds to this handle. A method definition handle that corresponds to this handle. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns a handle to a that corresponds to this handle. A method debug information handle that corresponds to this handle. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Represents a method (definition, reference, or standalone) or property signature. In the case of properties, the signature matches that of a getter with a distinguishing . The method type. Initializes a new instance of the structure using the specified header, return type, and parameter information. The information in the leading byte of the signature (kind, calling convention, flags). The return type of the method. The number of required parameters. The number of generic type parameters. The parameter types. Gets the number of generic type parameters for the method. The number of generic type parameters, or 0 for non-generic methods. Gets the information in the leading byte of the signature (kind, calling convention, flags). The header signature. Gets the method's parameter types. An immutable collection of parameter types. Gets the number of parameters that are required for the method. The number of required parameters. Gets the return type of the method. The return type. Gets a or handle specifying which generic method this instance refers to (that is, which generic method it is an instantiation of). A or handle specifying which generic method this instance refers to. Gets a handle to the signature blob. A handle to the signature blob. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Gets all exported types that reside directly in a namespace. An immutable array of exported type handles. Gets the unqualified name of the namespace definition. The unqualified name of the namespace definition. Gets the namespace definitions that are direct children of the current namespace definition. An immutable array of namespace definitions that are direct children of the current namespace definition. Gets the parent namespace. The parent namespace. Gets all type definitions that reside directly in a namespace. An immutable array of type definition handles. Provides a handle to a namespace definition. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Contains a collection of parameters of a specified method. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets a from a . The current instance. is . The current platform is big-endian. IO error while reading from the underlying stream. A metadata reader. Gets a metadata reader with the specified metadata reading configuration from a . The current instance. An enumeration value indicating the metadata reading configuration. is . The current platform is big-endian. IO error while reading from the underlying stream. A metadata reader with the specified metadata reading configuration. Gets a metadata reader with the specified metadata reading configuration and encoding configuration from a . The current instance. An enumeration value indicating the metadata reading configuration. A metadata string decoder with the encoding configuration. is . The encoding of is not . The current platform is big-endian. IO error while reading from the underlying stream. >A metadata reader with the specified metadata reading configuration and encoding configuration. Returns a body block of a method with the specified Relative Virtual Address (RVA). The current instance. The Relative Virtual Address (RVA). is . The body is not found in the metadata or is invalid. The section where the method is stored is not available. IO error occurred while reading from the underlying stream. A method block body instance. Specifies constants that define the type codes used to encode types of primitive values in a value blob. A type. An unsigned 1-byte integer type. A type. An 8-byte floating point type. A signed 2-byte integer type. A signed 4-byte integer type. A signed 8-byte integer type. A signed 1-byte integer type. A 4-byte floating point type. A type. An unsigned 2-byte integer type. An unsigned 4-byte integer type. An unsigned 8-byte integer type. Specifies constants that define primitive types found in metadata signatures. A type. A type. A type. A type. An type. An type. An type. An type. An type. An type. A type. A type. A typed reference. A type. A type. A type. A type. A type. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Represents a handle and a corresponding blob on a metadata heap that was reserved for future content update. Returns a to be used to update the content. A blob writer to be used to update the content. Gets the reserved blob handle. The reserved bloc handle. Represents a Portable PDB sequence point. Specifies a line number value for a hidden sequence point. Indicates whether the current sequence point is equal to the specified object. The object to compare with the current object. if the current sequence point is equal to the parameter; otherwise, . Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Gets the hash code of this sequence point. The hash code of this sequence point. Gets the source document that contains this sequence point. The source document that contains this sequence point. Gets the column number of the last character in this sequence point. The column number of the last character in this sequence point. Gets the line number of the last character in this sequence point. The line number of the last character in this sequence point. Gets a value that indicates whether this sequence point is hidden. if this sequence point is hidden; otherwise, . Gets the IL offset of this sequence point from the start of the method body, in bytes. The IL offset of this sequence point from the start of the method body, in bytes. Gets the column number of the first character in this sequence point. The column number of the first character in this sequence point. Gets the line number of the first character in this sequence point. The line number of the first character in this sequence point. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Specifies type codes used to encode the types of values in a blob. A value equivalent to . A value equivalent to . A value equivalent to . A value equivalent to . The attribute argument is an Enum instance. A value equivalent to . A value equivalent to . A value equivalent to . A value equivalent to . A value equivalent to . A value equivalent to . A value equivalent to . A value equivalent to . The attribute argument is "boxed" (passed to a parameter, field, or property of type object) and carries type information in the attribute blob. The attribute argument is a instance. A value equivalent to . A value equivalent to . A value equivalent to . Specifies additional flags that can be applied to method signatures. The underlying values of the fields in this type correspond to the representation in the leading signature byte represented by a structure. Indicates the first explicitly declared parameter that represents the instance pointer. A generic method. An instance method. The Ecma 335 CLI Specification refers to this flag as . No flags. Specifies how arguments in a given signature are passed from the caller to the callee. The underlying values of the fields in this type correspond to the representation in the leading signature byte represented by a structure. An unmanaged C/C++ style calling convention where the call stack is cleaned by the caller. A managed calling convention with a fixed-length argument list. An unmanaged calling convention where arguments are passed in registers when possible. An unmanaged calling convention where the call stack is cleaned up by the callee. An unmanaged C++ style calling convention for calling instance member functions with a fixed argument list. Indicates that the specifics of the unmanaged calling convention are encoded as modopts. A managed calling convention for passing extra arguments. Represents the signature characteristics specified by the leading byte of signature blobs. Gets the mask value for the calling convention or signature kind. The default value is 15 (0x0F). Initializes a new instance of the structure using the specified byte value. The byte. Initializes a new instance of the structure using the specified signature kind, calling convention and signature attributes. The signature kind. The calling convention. The signature attributes. Compares the specified object with this for equality. The object to compare. if the objects are equal; otherwise, . Compares two values for equality. The value to compare. if the values are equal; otherwise, . Gets a hash code for the current object. A hash code for the current object. Compares two values for equality. The first value to compare. The second value to compare. if the values are equal; otherwise, . Determines whether two values are unequal. The first value to compare. The second value to compare. if the values are unequal; otherwise, . Returns a string that represents the current object. A string that represents the current object. Gets the signature attributes. The attributes. Gets the calling convention. The calling convention. Gets a value that indicates whether this structure has the signature attribute. if the attribute is present; otherwise, . Gets a value that indicates whether this structure has the signature attribute. if the attribute is present; otherwise, . Gets a value that indicates whether this structure has the signature attribute. if the attribute is present; otherwise, . Gets the signature kind. The signature kind. Gets the raw value of the header byte. The raw value of the header byte. Specifies the signature kind. The underlying values of the fields in this type correspond to the representation in the leading signature byte represented by a structure. A field signature. A local variables signature. A method reference, method definition, or standalone method signature. A method specification signature. A property signature. Specifies constants that define type codes used in signature encoding. Represents a generalized in signatures. Represents a in signatures. Represents managed pointers (byref return values and parameters) in signatures. It is followed in the blob by the signature encoding of the underlying type. Represents a in signatures. Represents a in signatures. Represents a in signatures. Represents function pointer types in signatures. Represents a generic method parameter used within a signature. Represents the instantiation of a generic type in signatures. Represents a generic type parameter used within a signature. Represents an in signatures. Represents an in signatures. Represents an in signatures. Represents an in signatures. Represents an invalid or uninitialized type code. It will not appear in valid signatures. Represents an in signatures. Represents a custom modifier applied to a type within a signature that the caller can ignore. Represents a local variable that is pinned by garbage collector. Represents an unmanaged pointer in signatures. It is followed in the blob by the signature encoding of the underlying type. Represents a custom modifier applied to a type within a signature that the caller must understand. Represents an in signatures. Represents a marker to indicate the end of fixed arguments and the beginning of variable arguments. Represents a in signatures. Represents a in signatures. Represents a single dimensional with a lower bound of 0. Represents a typed reference in signatures. Precedes a type in signatures. In raw metadata, this is encoded as either ELEMENT_TYPE_CLASS (0x12) for reference types or ELEMENT_TYPE_VALUETYPE (0x11) for value types. This is collapsed to a single code because Windows Runtime projections can project from class to value type or vice-versa, and the raw code is misleading in those cases. Represents a in signatures. Represents a in signatures. Represents a in signatures. Represents a in signatures. Represents in signatures. Indicates the type definition of the signature. The type definition or reference refers to a class. It isn't known in the current context if the type reference or definition is a class or value type. The type definition or reference refers to a value type. Determines the kind of signature, which can be or . The signature is invalid. An enumeration value that indicates the signature kind. Gets a handle to the signature blob. A handle to the signature blob. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Indicates whether a represents a standalone method or local variable signature. The references a local variable signature. The represents a standalone method signature. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Returns the enclosing type of a specified nested type. The enclosing type of the specified nested type, or a handle a handle whose property is if the type is not nested. Returns an array of types nested in the specified type. An immutable array of type definition handles that represent types nested in the specified type. Gets the base type of the type definition: either , or . The base type of the type definition. Gets a value that indicates whether this is a nested type. if it is a nested type, otherwise. Gets the name of the type. The name of the type. Gets the full name of the namespace where the type is defined. The full name of the namespace where the type is defined, or a handle whose property is if the type is nested or defined in a root namespace. Gets the definition handle of the namespace where the type is defined. The definition handle of the namespace where the type is defined, or a handle whose property is if the type is nested or defined in a root namespace. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Contains a collection of instances. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the name of the target type. The name of the target type. Gets the full name of the namespace where the target type is defined. The full name of the namespace where the target type is defined, or a handle whose the property is if the type is nested or defined in a root namespace. Gets the resolution scope in which the target type is defined and is uniquely identified by the specified and . The resolution scope in which the target type is uniquely defined. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Contains a collection of instances. Returns an enumerator that iterates through the collection. An enumerator that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Gets the number of elements in the collection. The number of elements in the collection. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Gets the element in the collection at the current position of the enumerator. The element in the collection at the current position of the enumerator. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Represents a handle to the user string heap. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. if the current object is equal to the parameter; otherwise, . Specifies flags for the unmanaged method import attributes. Specifies that the best-fit mapping behavior when converting Unicode characters to ANSI characters is disabled. Specifies that the best-fit mapping behavior when converting Unicode characters to ANSI characters is enabled. Specifies whether the best-fit mapping behavior when converting Unicode characters to ANSI characters is enabled or disabled. Specifies that the calling convention is CDecl. Specifies that the calling convention is FastCall. Specifies the calling convention. Specifies that the calling convention is StdCall. Specifies that the calling convention is ThisCall. Specifies that the default platform calling convention is used. Specifies that strings are marshalled as multiple-byte character strings: the system default Windows (ANSI) code page on Windows, and UTF-8 on Unix. Specifies that the character set is chosen automatically. See Charsets and marshaling for details. Specifies the character set used for string marshalling. Specifies that strings are marshalled as Unicode 2-byte character strings. Specifies that the Common Language Runtime should not try an entry-point names with charset-specific suffixes when searching for the imported method. Specifies default method import attributes. Specifies that the imported method calls the SetLastError Windows API function before returning. Specifies that an exception should not be thrown when an unmappable Unicode character is converted to an ANSI character. Specifies that an exception should be thrown when an unmappable Unicode character is converted to an ANSI character. Specifies whether an exception should be thrown when an unmappable Unicode character is converted to an ANSI character. Used to add a handler for an event. Corresponds to the flag in the Ecma 335 CLI specification. CLS-compliant adders are named the with prefix. Reads the value of the property. CLS-compliant getters are named with get_ prefix. Other method for a property (not a getter or setter) or an event (not an adder, remover, or raiser). Used to indicate that an event has occurred. Corresponds to the flag in the Ecma 335 CLI specification. CLS-compliant raisers are named with the prefix. Used to remove a handler for an event. Corresponds to the flag in the Ecma 335 CLI specification. CLS-compliant removers are named with the prefix. Used to modify the value of the property. CLS-compliant setters are named with the prefix. Represents the Common Object File Format (COFF) file characteristics. Indicates that the operating system should aggressively trim the working set for this file. This flag is deprecated and should be zero. Indicates that this file is for a 32-bit machine. Indicates that this file uses a big endian byte order. This flag is deprecated and should be zero. Indicates that this file uses a little endian byte order. This flag is deprecated and should be zero. Indicates that debugging information is removed from the image file. Indicates that the image file is a dynamic-link library (DLL). Indicates that the image file is valid and can be run. Indicates that this executable file can handle memory addresses greater than 2 GB. Indicates that COFF line numbers have been removed from the file. This flag is deprecated and should be zero. Indicates that COFF symbol table entries for local symbols have been removed from the file. This flag is deprecated and should be zero. Indicates that the image should be fully loaded and copied into the swap file if it's located on a network media. Indicates that the image doesn't contain base relocations and must therefore be loaded at its preferred base address. Indicates that the image should be fully loaded and copied into the swap file if it's located on a removable media. Indicates that the image file is a system file, not a user program. Indicates that the file should be run only on a uniprocessor machine. Provides information about a Program Debug Database (PDB) file. The iteration of the PDB. The first iteration is 1. The iteration is incremented each time the PDB content is augmented. The Globally Unique Identifier (GUID) of the associated PDB. The path to the .pdb file that contains debug information for the PE/COFF file. Represents the header of a COFF file. Gets the flags that indicate the attributes of the file. The flags that indicate the attributes of the file. Gets the type of the target machine. The type of the target machine. Gets the number of sections. This indicates the size of the section table, which immediately follows the headers. The number of sections. Gets the number of entries in the symbol table. This data can be used to locate the string table, which immediately follows the symbol table. This value should be zero for a PE image. Gets the file pointer to the COFF symbol table. The file pointer to the COFF symbol table, or zero if no COFF symbol table is present. This value should be zero for a PE image. Gets the size of the optional header, which is required for executable files but not for object files. This value should be zero for an object file. The size of the optional header. Gets a value that indicates when the file was created. The low 32 bits of the number of seconds since 00:00 January 1, 1970, which indicates when the file was created. Represents the runtime flags for a .NET executable image. Indicates that this image is a library that only contains IL code. Indicates that this image only contains IL code. Reserved, shall be 0. Indicates that this image should be run as a 32-bit process on a 64-bit operating system. Indicates that this image can only be loaded into a 32-bit process. Indicates that this image has a strong name signature. Reserved, shall be 0. Initializes a new instance of the class. Adds a CodeView entry. The path to the PDB. It should not be empty. The unique id of the PDB content. The version of Portable PDB format (e.g. 0x0100 for 1.0), or 0 if the PDB is not portable. is . contains a NUL character. is smaller than 0x0100. Adds a CodeView entry. The path to the PDB. It should not be empty. The unique id of the PDB content. The version of Portable PDB format (e.g. 0x0100 for 1.0), or 0 if the PDB is not portable. Age (iteration) of the PDB. Shall be 1 for Portable PDBs. is . contains a NUL character. Either is smaller than 0x0100 or is less than 1. Adds an Embedded Portable PDB entry. A Portable PDB metadata builder. The version of Portable PDB format (e.g. 0x0100 for 1.0). is . is smaller than 0x0100. Adds an entry of the specified type. The entry type. The entry version. The entry stamp. Adds an entry of the specified type and serializes its data. The entry type. The entry version. The entry stamp. The data to pass to . A serializer for serializing data to a . The type of the data passed to . Adds PDB checksum entry. The hash algorithm name (for example, "SHA256"). The checksum. or is . or is empty. Adds a reproducible entry. Identifies the location, size and format of a block of debug information. Initializes a new instance of the structure. Gets the file pointer to the debug data. The file pointer to the debug data. Gets the address of the debug data when loaded, relative to the image base. The address of the debug data relative to the image base. Gets the size of the debug data (not including the debug directory itself). the size of the debug data (excluding the debug directory). Gets a value that indicates if the entry is a entry that points to a Portable PDB. if the entry is a entry pointing to a Portable PDB; otherwise, . Gets the major version number of the debug data format. The major version number of the debug data format. Gets the minor version number of the debug data format. The minor version number of the debug data format. Get the time and date that the debug data was created if the PE/COFF file is not deterministic; otherwise, gets a value based on the hash of the content. for a non-deterministic PE/COFF file, the time and date that the debug data was created; otherwise, a value based on the hash of the content. Gets the format of the debugging information. The format of the debugging information. An enumeration that describes the format of the debugging information of a . Associated PDB file description. For more information, see the specification. The COFF debug information (line numbers, symbol table, and string table). This type of debug information is also pointed to by fields in the file headers. The entry points to a blob containing Embedded Portable PDB. The Embedded Portable PDB blob has the following format: - blob ::= uncompressed-size data - Data spans the remainder of the blob and contains a Deflate-compressed Portable PDB. For more information, see the specification. The entry stores a crypto hash of the content of the symbol file the PE/COFF file was built with. The hash can be used to validate that a given PDB file was built with the PE/COFF file and not altered in any way. More than one entry can be present if multiple PDBs were produced during the build of the PE/COFF file (for example, private and public symbols). For more information, see the specification. The presence of this entry indicates a deterministic PE/COFF file. See the Remarks section for more information. The tool that produced the deterministic PE/COFF file guarantees that the entire content of the file is based solely on documented inputs given to the tool (such as source files, resource files, and compiler options) rather than ambient environment variables (such as the current time, the operating system, and the bitness of the process running the tool). The value of field TimeDateStamp in COFF File Header of a deterministic PE/COFF file does not indicate the date and time when the file was produced and should not be interpreted that way. Instead, the value of the field is derived from a hash of the file content. The algorithm to calculate this value is an implementation detail of the tool that produced the file. The debug directory entry of type must have all fields, except for Type zeroed. For more information, see the specification. An unknown value that should be ignored by all tools. Describes the characteristics of a dynamic link library. The image must run inside an AppContainer. The image supports Control Flow Guard. The DLL can be relocated. Code integrity checks are enforced. The image can handle a high entropy 64-bit virtual address space. Do not bind this image. The image understands isolation and doesn't want it. The image does not use SEH. No SE handler may reside in this image. The image is NX compatible. Reserved. Reserved. The image is Terminal Server aware. Reserved. Reserved. The driver uses the WDM model. Specifies the target machine's CPU architecture. Alpha. ALPHA64. Matsushita AM33. AMD64 (K8). ARM little endian. ARM64. ARM Thumb-2 little endian. EFI Byte Code. Intel 386. Intel 64. LOONGARCH32 LOONGARCH64 M32R little-endian. MIPS. MIPS with FPU. MIPS16 with FPU. IBM PowerPC little endian. PowerPCFP. Hitachi SH3 little endian. Hitachi SH3 DSP. Hitachi SH3 little endian. Hitachi SH4 little endian. Hitachi SH5. Thumb. Infineon. The target CPU is unknown or not specified. MIPS little-endian WCE v2. Represents a PDB Checksum debug directory entry. The name of the crypto hash algorithm used to calculate the checksum. A string representing the name of the crypto hash algorithm used to calculate the checksum. The checksum of the PDB content. An immutable array of bytes representing the checksum of the PDB content. Builds PE directories. Initializes an instance of the class. The address of the entry point relative to the image base when the PE file is loaded into memory. For program images, this is the starting address. For device drivers, this is the address of the initialization function. An entry point is optional for DLLs. When no entry point is present, this field must be zero. The base relocation table image directory entry. A directory entry instance. The bound import image directory entry. A directory entry instance. The copyright/architecture image directory entry. A directory entry instance. The COM descriptortable image directory entry. A directory entry instance. The debug table image directory entry. A directory entry instance. The delay import table image directory entry. A directory entry instance. The exception table image directory entry. A directory entry instance. The export table image directory entry. A directory entry instance. The global pointer table image directory entry. A directory entry instance. The import address table (IAT) image directory entry. A directory entry instance. The import table image directory entry. A directory entry instance. The load configuration table image directory entry. A directory entry instance. The resource table image directory entry. A directory entry instance. The thread local storage (TLS) table image directory entry. A directory entry instance. Represents the Portable Executable (PE) file header. Gets the address of the entry point relative to the image base when the PE file is loaded into memory. The address of the entry point relative to the image base. Gets the address of the beginning-of-code section relative to the image base when the image is loaded into memory. The address of the beginning-of-code section relative to the image base. Gets the address of the beginning-of-data section relative to the image base when the image is loaded into memory. The address of the beginning-of-data section relative to the image base. Gets the Base Relocations Table entry. The Base Relocations Table entry. Gets the Bound Import Table entry. The Bound Import Table entry. Gets the Certificate Table entry, which points to a table of attribute certificates. Gets the image file checksum. The image file checksum. Gets the Copyright Table entry. The Copyright Table entry. Gets the CLI Header Table entry. The CLI Header Table entry. Gets the Debug Table entry. The Debug Table entry. Gets the Delay-Load Import Table entry. The Delay-Load Import Table entry. Gets the characteristics of a dynamic link library. A bitwise combination of flags that represents the characteristics of a dynamic link library. Gets the Exception Table entry. The Exception Table entry. Gets the Export Table entry. The Export Table entry. Gets the alignment factor (in bytes) that is used to align the raw data of sections in the image file. A power of 2 between 512 and 64K, inclusive. The default is 512. Gets the Global Pointer Table entry. The Global Pointer Table entry. Gets the preferred address of the first byte of the image when it is loaded into memory. The preferred address, which is a multiple of 64K. Gets the Import Address Table entry. The Import Address Table entry. Gets the Import Table entry. The Import Table entry. Gets the Load Configuration Table entry. The Load Configuration Table entry. Gets a value that identifies the format of the image file. The format of the image file. Gets the major version number of the image. The major version number of the image. Gets the linker major version number. The linker major version number. Gets the major version number of the required operating system. The major version number of the required operating system. Gets the major version number of the subsystem. The major version number of the subsystem. Gets the minor version number of the image. The minor version number of the image. Gets the linker minor version number. The linker minor version number. Gets the minor version number of the required operating system. The minor version number of the required operating system. Gets the minor version number of the subsystem. The minor version number of the subsystem. Gets the number of data-directory entries in the remainder of the . Each describes a location and size. The number of data-directory entries in the remainder of the . Gets the Resource Table entry. The Resource Table entry. Gets the alignment (in bytes) of sections when they are loaded into memory. A number greater than or equal to . The default is the page size for the architecture. Gets the size of the code (text) section, or the sum of all code sections if there are multiple sections. the size of the code (text) section, or the sum of all code sections if there are multiple sections. Gets the combined size of an MS DOS stub, PE header, and section headers rounded up to a multiple of FileAlignment. The combined size of an MS DOS stub, PE header, and section headers rounded up to a multiple of FileAlignment. Gets the size of the local heap space to commit. the size of the local heap space to commit. Gets the size of the local heap space to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. The size of the local heap space to reserve. Gets the size (in bytes) of the image, including all headers, as the image is loaded in memory. The size (in bytes) of the image, which is a multiple of . Gets the size of the initialized data section, or the sum of all such sections if there are multiple data sections. Gets the size of the stack to commit. The size of the stack to commit. Gets the size of the stack to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. The size of the stack to reserve. Gets the size of the uninitialized data section (BSS), or the sum of all such sections if there are multiple BSS sections. The size of the uninitialized data section (BSS) or the sum of all such sections. Gets the name of the subsystem that is required to run this image. The name of the subsystem that is required to run this image. Gets the Thread-Local Storage Table entry. The Thread-Local Storage Table entry. Defines the header for a portable executable (PE) file. Initializes a new instance of the class. The target machine's CPU architecture. The alignment (in bytes) of sections when they are loaded into memory. It must be greater than or equal to . The default is the page size for the architecture. The alignment factor (in bytes) that is used to align the raw data of sections in the image file. The value should be a power of 2 between 512 and 64K, inclusive. The default is 512. If the is less than the architecture's page size, then must match . The preferred address of the first byte of image when loaded into memory; must be a multiple of 64K. The linker major version number. The linker minor version number. The major version number of the required operating system. The minor version number of the required operating system. The major version number of the image. The minor version number of the image. The major version number of the subsystem. The minor version number of the subsystem. The subsystem required to run the image. An object describing the characteristics of the dynamic link library. An object describing the characteristics of the image. The size of the stack to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. The size of the stack to commit. The size of the local heap space to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. The size of the local heap space to commit. is not power of 2 between 512 and 64K. -or- not power of 2. -or- is less than . Creates an executable header. A instance representing the executable header. Creates a library header. A instance representing the library header. Returns the dynamic linker library characteristics. An object that describes the dynamic linker library characteristics. The alignment factor (in bytes) that is used to align the raw data of sections in the image file. The value should be a power of 2 between 512 and 64K, inclusive. The default is 512. If the section alignment is less than the architecture's page size, then file alignment must match the section alignment. The preferred address of the first byte of image when loaded into memory; must be a multiple of 64K. A number representing the preferred address of the first byte of image when loaded into memory. Returns the image characteristics. An object representing the image characteristics. The target machine's CPU architecture. One of the enumeration values representing the different CPU architectures. The major version number of the image. A number the size of a representing the major version number of the image. The linker major version number. A number the size of a representing the linker major version number. The major version number of the required operating system. A number the size of a representing the major version number of the required operating system. The major version number of the subsystem. A number the size of a representing the major version number of the subsystem. The minor version number of the image. A number the size of a representing the minor version number of the image. The linker minor version number. A number the size of a representing the linker minor version number. The minor version number of the required operating system. A number the size of a representing the minor version number of the required operating system. The minor version number of the subsystem. A number the size of a representing the minor version number of the subsystem. The alignment (in bytes) of sections when they are loaded into memory. A number representing the alignment (in bytes) of sections when they are loaded into memory. It must be greater than or equal to the file alignment. The default is the page size for the architecture. The size of the local heap space to commit. A number representing the size of the local heap space to commit. The size of the local heap space to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. A number representing the size of the local heap space to reserve. The size of the stack to commit. A number representing the size of the stack to commit. The size of the stack to reserve. Only is committed; the rest is made available one page at a time until the reserve size is reached. A number representing the size of the stack to reserve. The subsystem that is required to run this image. A instance. Defines a type that reads PE (Portable Executable) and COFF (Common Object File Format) headers from a stream. Instantiates a new instance of the class that reads the PE headers from the current location in the specified stream. A stream containing the PE image starting at the stream's current position and ending at the end of the stream. The data read from the stream has an invalid format. Error reading from the stream. The stream does not support seek operations. is . Instantiates a new instance of the class that reads the PE headers from a stream that represents a PE image of a specified size. A stream containing PE image of the given size starting at its current position. The size of the PE image. The data read from the stream has an invalid format. Error reading from the stream. The stream does not support seek operations. is . is negative or extends past the end of the stream. Instantiates a new instance of the class that reads the PE headers from a stream that represents a PE image of a specified size and indicates whether the PE image has been loaded into memory. The stream containing PE image of the given size starting at its current position. The size of the PE image. if the PE image has been loaded into memory by the OS loader; otherwise, . The data read from the stream has invalid format. Error reading from the stream. The stream does not support seek operations. is . is negative or extends past the end of the stream. Searches sections of the PE image for the section that contains the specified Relative Virtual Address. The relative virtual address to search for. The index of the section that contains , or -1 if there the search is unsuccessful. Gets the offset (in bytes) from the start of the image to the given directory data. The PE directory entry. When the method returns, contains the offset from the start of the image to the given directory data. if the directory data is found; otherwise. Gets the COFF header of the image. The COFF header of the image. Gets the byte offset from the start of the PE image to the start of the COFF header. The byte offset from the start of the PE image to the start of the COFF header. Gets the COR header. The COR header, or if the image does not have one. Gets the byte offset from the start of the image to the COR header. The byte offset from the start of the image to the COR header, or -1 if the image does not have a COR header. Gets a value that indicates whether the image is Coff only. if the image is Coff only; otherwise, . Gets a value that indicates whether the image represents a Windows console application. if the image is a Windows console applications; otherwise, . Gets a value that indicates whether the image represents a dynamic link library. if the image is a DLL; otherwise, . Gets a value that indicates whether the image represents an executable. if the image is an executable; otherwise, . Gets the size of the CLI metadata. the size of the CLI metadata, or 0 if the image does not contain metadata. Gets the offset (in bytes) from the start of the PE image to the start of the CLI metadata. The offset (in bytes) from the start of the PE image to the start of the CLI metadata, or -1 if the image does not contain metadata. Gets the image's PE header. The image's PE header, or if the image is COFF only. Gets the byte offset of the header from the start of the image. The byte offset of the header from the start of the image. Gets the PE section headers. An array containing the PE section headers. Reads the contents of the entire block into an array. An immutable byte array. Reads the contents of a part of the block into an array. The starting position in the block. The number of bytes to read. The specified range is not contained within the block. An immutable array of bytes. Creates a for a blob spanning the entire block. A reader for a blob spanning the entire block. Creates a for a blob spanning a part of the block. The starting position in the block. The number of bytes in the portion of the block. The specified range is not contained within the block. A reader for a blob spanning a portion of the block. Gets the length of the block. The length of the block. Gets a pointer to the first byte of the block. A pointer to the first byte of the block. Provides a reader for Portable Executable format (PE) files. Creates a Portable Executable reader over a PE image stored in memory. A pointer to the start of the PE image. The size of the PE image. is . is negative. Creates a Portable Executable reader over a PE image stored in memory. A flag indicates whether the image has already been loaded into memory. A pointer to the start of the PE image. The size of the PE image. if the PE image has been loaded into memory by the OS loader; otherwise, . is . is negative. Creates a Portable Executable reader over a PE image stored in a byte array. An immutable array of bytes representing the PE image. is . Creates a Portable Executable reader over a PE image stored in a stream. PE image stream. is . Creates a Portable Executable reader over a PE image stored in a stream beginning at its current position and ending at the end of the stream. A PE image stream. Options specifying how sections of the PE image are read from the stream. is . has an invalid value. Error reading from the stream (only when prefetching data). is specified, and the PE headers of the image are invalid. Creates a Portable Executable reader over a PE image of the given size beginning at the stream's current position. A PE image stream. Options specifying how sections of the PE image are read from the stream. The PE image size. is negative or extends past the end of the stream. Error reading from the stream (only when prefetching data). is specified, and the PE headers of the image are invalid. Disposes all memory allocated by the reader. Gets a object containing the entire PE image. The entire PE image is not available. A memory block that contains the entire PE image. Loads a PE section that contains CLI metadata. The PE image doesn't contain metadata ( returns ). The PE headers contain invalid data. IO error while reading from the underlying stream. A memory block that contains the CLI metadata. Loads the PE section that contains the specified relative virtual address into memory and returns a memory block that starts at that address and ends at the end of the containing section. The Relative Virtual Address of the data to read. The PE headers contain invalid data. An IO error occurred while reading from the underlying stream. The PE image is not available. is negative. A memory block that starts at and ends at the end of the containing section, or an empty block if doesn't represent a location in any of the PE sections of this PE image. Loads the PE section with the specified name into memory and returns a memory block that spans the section. The name of the section. is . The PE image is not available. A memory block that spans the section, or an empty block if no section of the given exists in this PE image. Reads the data pointed to by the specified Debug Directory entry and interprets it as CodeView. A Debug Directory entry instance. is not a CodeView entry. Bad format of the data. IO error while reading from the underlying stream. The PE image is not available. A code view debug directory data instance. Reads all Debug Directory table entries. Bad format of the entry. IO error while reading from the underlying stream. The PE image is not available. An array of Debug Directory table entries. Reads the data pointed to by the specified Debug Directory entry and interprets it as an Embedded Portable PDB blob. The Debug Directory entry whose data is to be read. is not a entry. Bad format of the data. PE image not available. The provider of a metadata reader for reading a Portable PDB image. Reads the data pointed to by the specified Debug Directory entry and interprets it as a PDB Checksum entry. The Debug Directory entry whose data is to be read. is not a PDB Checksum entry. Bad format of the data. IO error while reading from the underlying stream. The PE image is not available. The PDB Checksum entry. Opens a Portable PDB associated with this PE image. The path to the PE image. The path is used to locate the PDB file located in the directory containing the PE file. If specified, called to open a for a given file path. The provider is expected to either return a readable and seekable , or if the target file doesn't exist or should be ignored for some reason. The provider should throw if it fails to open the file due to an unexpected IO error. If successful, a new instance of to be used to read the Portable PDB. If successful and the PDB is found in a file, the path to the file, or if the PDB is embedded in the PE image itself. or is . The stream returned from doesn't support read and seek operations. No matching PDB file was found due to an error: The PE image or the PDB is invalid. No matching PDB file was found due to an error: An IO error occurred while reading the PE image or the PDB. if the PE image has a PDB associated with it and the PDB has been successfully opened; otherwise, . Gets a value that indicates if the PE image contains CLI metadata. The PE headers contain invalid data. Error reading from the underlying stream. if the PE image contains CLI metadata; otherwise, . Gets a value that indicates if the reader can access the entire PE image. if the reader can access the entire PE image; otherwise, . Gets a value that indicates if the PE image has been loaded into memory by the OS loader. if the PE image has been loaded into memory by the OS loader; otherwise, . Gets the PE headers. The headers contain invalid data. Error reading from the stream. The PE headers for this PE image. Provides options that specify how sections of a PE image are read from a stream. By default, the stream is disposed when the is disposed, and sections of the PE image are read lazily. Indicates that the underlying PE image has been loaded into memory by the OS loader. Keeps the stream open when the is disposed. Reads the entire image into memory right away. closes the stream automatically by the time the constructor returns unless is specified. Reads the metadata section into memory right away. Reading from other sections of the file is not allowed ( is thrown by the ). closes the stream automatically by the time the constructor returns unless is specified. The underlying file may be closed and even deleted after is constructed. Defines the base class for a PE resource section builder. Derive from to provide serialization logic for native resources. Initializes a new instance of the class. Serializes the specified resource. A blob that contains the data to serialize. The location to which to serialize . Provides information about the section header of a PE/COFF file. Gets the name of the section. The name of the section. Gets the number of line-number entries for the section. The number of line-number entries for the section. Gets the number of relocation entries for the section. The number of relocation entries for the section. Its value is zero for PE images. Gets the file pointer to the beginning of line-number entries for the section. The file pointer to the beginning of line-number entries for the section, or zero if there are no COFF line numbers. Gets the file pointer to the first page of the section within the COFF file. The file pointer to the first page of the section within the COFF file. Gets the file pointer to the beginning of relocation entries for the section. The file pointer to the beginning of relocation entries for the section. It is set to zero for PE images or if there are no relocations. Gets the flags that describe the characteristics of the section. The flags that describe the characteristics of the section. Gets the size of the section (for object files) or the size of the initialized data on disk (for image files). The size of the section (for object files) or the size of the initialized data on disk (for image files). Gets the virtual addess of the section. The virtual address of the section. Gets the total size of the section when loaded into memory. The total size of the section when loaded into memory. Describes the subsystem requirement for the image. Extensible Firmware Interface (EFI) application. EFI driver with boot services. EFI ROM image. EFI driver with run-time services. The image doesn't require a subsystem. The image is a native Win9x driver. The image runs in the OS/2 character subsystem. The image runs in the Posix character subsystem. Unknown subsystem. Boot application. The image runs in the Windows CE subsystem. The image runs in the Windows character subsystem. The image runs in the Windows GUI subsystem. Xbox system.