diff --git a/xml/System.Reflection.PortableExecutable/PEDirectoriesBuilder.xml b/xml/System.Reflection.PortableExecutable/PEDirectoriesBuilder.xml index af9abbbcc2b..47b3f40d398 100644 --- a/xml/System.Reflection.PortableExecutable/PEDirectoriesBuilder.xml +++ b/xml/System.Reflection.PortableExecutable/PEDirectoriesBuilder.xml @@ -17,7 +17,7 @@ - To be added. + Builds PE directories. To be added. @@ -37,7 +37,7 @@ - To be added. + Initializes an instance of the class. To be added. @@ -60,8 +60,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -84,9 +84,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The base relocation table image directory entry. + A directory entry instance. + + + @@ -108,9 +116,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The bound import image directory entry. + A directory entry instance. + + + @@ -132,9 +148,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The copyright/architecture image directory entry. + A directory entry instance. + + + @@ -156,9 +180,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The COM descriptortable image directory entry. + A directory entry instance. + + + @@ -180,9 +212,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The debug table image directory entry. + A directory entry instance. + + + @@ -204,9 +244,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The delay import table image directory entry. + A directory entry instance. + + + @@ -228,9 +276,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The exception table image directory entry. + A directory entry instance. + + + @@ -252,9 +308,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The export table image directory entry. + A directory entry instance. + + + @@ -276,9 +340,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The global pointer table image directory entry. + A directory entry instance. + + + @@ -300,9 +372,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The import address table (IAT) image directory entry. + A directory entry instance. + + + @@ -324,9 +404,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The import table image directory entry. + A directory entry instance. + + + @@ -348,9 +436,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The load configuration table image directory entry. + A directory entry instance. + + + @@ -372,9 +468,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The resource table image directory entry. + A directory entry instance. + + + @@ -396,9 +500,17 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. - To be added. - To be added. + The thread local storage (TLS) table image directory entry. + A directory entry instance. + + + diff --git a/xml/System.Reflection.PortableExecutable/PEHeader.xml b/xml/System.Reflection.PortableExecutable/PEHeader.xml index 8914a7275fb..e7a42912bec 100644 --- a/xml/System.Reflection.PortableExecutable/PEHeader.xml +++ b/xml/System.Reflection.PortableExecutable/PEHeader.xml @@ -44,9 +44,17 @@ System.Int32 - To be added. - To be added. - To be added. + 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. + + + @@ -70,8 +78,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -96,8 +104,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -124,7 +132,15 @@ To be added. To be added. - To be added. + + + @@ -150,7 +166,15 @@ To be added. To be added. - To be added. + + + @@ -174,9 +198,19 @@ System.Reflection.PortableExecutable.DirectoryEntry - To be added. + Gets the Certificate Table entry, which points to a table of attribute certificates. To be added. - To be added. + + + @@ -200,8 +234,8 @@ System.UInt32 - To be added. - To be added. + Gets the image file checksum. + The image file checksum. To be added. @@ -228,7 +262,15 @@ To be added. To be added. - To be added. + + + @@ -254,7 +296,15 @@ To be added. To be added. - To be added. + + + @@ -280,7 +330,15 @@ To be added. To be added. - To be added. + + + @@ -306,7 +364,15 @@ To be added. To be added. - To be added. + + + @@ -358,7 +424,15 @@ To be added. To be added. - To be added. + + + @@ -384,7 +458,15 @@ To be added. To be added. - To be added. + + + @@ -408,9 +490,16 @@ System.Int32 - To be added. - To be added. - To be added. + 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. + + is less than the architecture's page size, then must match . + + ]]> @@ -436,7 +525,15 @@ To be added. To be added. - To be added. + + + @@ -460,8 +557,8 @@ System.UInt64 - To be added. - To be added. + 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. To be added. @@ -488,7 +585,15 @@ To be added. To be added. - To be added. + + + @@ -514,7 +619,15 @@ To be added. To be added. - To be added. + + + @@ -540,7 +653,15 @@ To be added. To be added. - To be added. + + + @@ -564,8 +685,8 @@ System.Reflection.PortableExecutable.PEMagic - To be added. - To be added. + Gets a value that identifies the format of the image file. + The format of the image file. To be added. @@ -590,8 +711,8 @@ System.UInt16 - To be added. - To be added. + Gets the major version number of the image. + The major version number of the image. To be added. @@ -616,8 +737,8 @@ System.Byte - To be added. - To be added. + Gets the linker major version number. + The linker major version number. To be added. @@ -642,8 +763,8 @@ System.UInt16 - To be added. - To be added. + Gets the major version number of the required operating system. + The major version number of the required operating system. To be added. @@ -668,8 +789,8 @@ System.UInt16 - To be added. - To be added. + Gets the major version number of the subsystem. + The major version number of the subsystem. To be added. @@ -694,8 +815,8 @@ System.UInt16 - To be added. - To be added. + Gets the minor version number of the image. + The minor version number of the image. To be added. @@ -720,8 +841,8 @@ System.Byte - To be added. - To be added. + Gets the linker minor version number. + The linker minor version number. To be added. @@ -746,8 +867,8 @@ System.UInt16 - To be added. - To be added. + Gets the minor version number of the required operating system. + The minor version number of the required operating system. To be added. @@ -772,8 +893,8 @@ System.UInt16 - To be added. - To be added. + Gets the minor version number of the subsystem. + The minor version number of the subsystem. To be added. @@ -798,8 +919,8 @@ System.Int32 - To be added. - To be added. + 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 . To be added. @@ -826,7 +947,15 @@ To be added. To be added. - To be added. + + + @@ -850,8 +979,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -876,8 +1005,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -902,8 +1031,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -928,8 +1057,8 @@ System.UInt64 - To be added. - To be added. + Gets the size of the local heap space to commit. + the size of the local heap space to commit. To be added. @@ -954,8 +1083,8 @@ System.UInt64 - To be added. - To be added. + 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. To be added. @@ -980,8 +1109,8 @@ System.Int32 - To be added. - To be added. + 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 . To be added. @@ -1006,7 +1135,7 @@ System.Int32 - To be added. + Gets the size of the initialized data section, or the sum of all such sections if there are multiple data sections. To be added. To be added. @@ -1032,8 +1161,8 @@ System.UInt64 - To be added. - To be added. + Gets the size of the stack to commit. + The size of the stack to commit. To be added. @@ -1058,8 +1187,8 @@ System.UInt64 - To be added. - To be added. + 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. To be added. @@ -1084,8 +1213,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -1110,8 +1239,8 @@ System.Reflection.PortableExecutable.Subsystem - To be added. - To be added. + 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. To be added. @@ -1138,7 +1267,15 @@ To be added. To be added. - To be added. + + + diff --git a/xml/System.Reflection.PortableExecutable/PEHeaderBuilder.xml b/xml/System.Reflection.PortableExecutable/PEHeaderBuilder.xml index cb0ef1953f6..812500bf86c 100644 --- a/xml/System.Reflection.PortableExecutable/PEHeaderBuilder.xml +++ b/xml/System.Reflection.PortableExecutable/PEHeaderBuilder.xml @@ -17,7 +17,7 @@ - To be added. + Defines the header for a portable executable (PE) file. To be added. @@ -56,27 +56,35 @@ - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. + 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. + Initializes a new instance of the class. To be added. + is not power of 2 between 512 and 64K. +-or- + + not power of 2. + +-or- + + is less than . @@ -99,8 +107,8 @@ - To be added. - To be added. + Creates an executable header. + A instance representing the executable header. To be added. @@ -124,8 +132,8 @@ - To be added. - To be added. + Creates a library header. + A instance representing the library header. To be added. @@ -148,8 +156,8 @@ System.Reflection.PortableExecutable.DllCharacteristics - To be added. - To be added. + Returns the dynamic linker library characteristics. + An object that describes the dynamic linker library characteristics. To be added. @@ -172,7 +180,7 @@ System.Int32 - To be added. + 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. To be added. To be added. @@ -196,8 +204,8 @@ System.UInt64 - To be added. - To be added. + 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. To be added. @@ -220,8 +228,8 @@ System.Reflection.PortableExecutable.Characteristics - To be added. - To be added. + Returns the image characteristics. + An object representing the image characteristics. To be added. @@ -244,8 +252,8 @@ System.Reflection.PortableExecutable.Machine - To be added. - To be added. + The target machine's CPU architecture. + One of the enumeration values representing the different CPU architectures. To be added. @@ -268,8 +276,8 @@ System.UInt16 - To be added. - To be added. + The major version number of the image. + A number the size of a representing the the major version number of the image. To be added. @@ -292,8 +300,8 @@ System.Byte - To be added. - To be added. + The linker major version number. + A number the size of a representing the linker major version number. To be added. @@ -316,8 +324,8 @@ System.UInt16 - To be added. - To be added. + 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. To be added. @@ -340,8 +348,8 @@ System.UInt16 - To be added. - To be added. + The major version number of the subsystem. + A number the size of a representing the major version number of the subsystem. To be added. @@ -364,8 +372,8 @@ System.UInt16 - To be added. - To be added. + The minor version number of the image. + A number the size of a representing the minor version number of the image. To be added. @@ -388,8 +396,8 @@ System.Byte - To be added. - To be added. + The linker minor version number. + A number the size of a representing the linker minor version number. To be added. @@ -412,8 +420,8 @@ System.UInt16 - To be added. - To be added. + 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. To be added. @@ -436,8 +444,8 @@ System.UInt16 - To be added. - To be added. + The minor version number of the subsystem. + A number the size of a representing the minor version number of the subsystem. To be added. @@ -460,8 +468,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -484,8 +492,8 @@ System.UInt64 - To be added. - To be added. + The size of the local heap space to commit. + A number representing the size of the local heap space to commit. To be added. @@ -508,8 +516,8 @@ System.UInt64 - To be added. - To be added. + 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. To be added. @@ -532,8 +540,8 @@ System.UInt64 - To be added. - To be added. + The size of the stack to commit. + A number representing the size of the stack to commit. To be added. @@ -556,8 +564,8 @@ System.UInt64 - To be added. - To be added. + 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. To be added. @@ -580,8 +588,8 @@ System.Reflection.PortableExecutable.Subsystem - To be added. - To be added. + The subsystem that is required to run this image. + A instance. To be added. diff --git a/xml/System.Reflection.PortableExecutable/PEHeaders.xml b/xml/System.Reflection.PortableExecutable/PEHeaders.xml index 2aea8949902..416e1b8e17b 100644 --- a/xml/System.Reflection.PortableExecutable/PEHeaders.xml +++ b/xml/System.Reflection.PortableExecutable/PEHeaders.xml @@ -19,7 +19,7 @@ - To be added. + Defines a type that reads PE (Portable Executable) and COFF (Common Object File Format) headers from a stream. To be added. @@ -44,9 +44,13 @@ - To be added. - To be added. + A stream containing the PE image starting at the stream's current position and ending at the end of the stream. + Instantiates a new instance of the class that reads the PE headers from the current location in the specified stream. To be added. + The data read from the stream has an invalid format. + Error reading from the stream. + The stream does not support seek operations. + is . @@ -71,10 +75,15 @@ - To be added. - To be added. - To be added. + A stream containing PE image of the given size starting at its current position. + The size of the PE image. + Instantiates a new instance of the class that reads the PE headers from a stream that represents a PE image of a specified size. To be added. + 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. @@ -98,11 +107,16 @@ - To be added. - To be added. - To be added. - To be added. + 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, . + 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. To be added. + 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. @@ -126,8 +140,8 @@ System.Reflection.PortableExecutable.CoffHeader - To be added. - To be added. + Gets the COFF header of the image. + The COFF header of the image. To be added. @@ -152,8 +166,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -178,8 +192,8 @@ System.Reflection.PortableExecutable.CorHeader - To be added. - To be added. + Gets the COR header. + The COR header, or if the image does not have one. To be added. @@ -204,8 +218,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -233,9 +247,9 @@ - To be added. - To be added. - To be added. + The relative virtual address to search for. + Searches sections of the PE image for the section that contains the specified Relative Virtual Address. + The index of the section that contains , or -1 if there the search is unsuccessful. To be added. @@ -260,8 +274,8 @@ System.Boolean - To be added. - To be added. + Gets a value that indicates whether the image is Coff only. + if the image is Coff only; otherwise, . To be added. @@ -286,8 +300,8 @@ System.Boolean - To be added. - To be added. + Gets a value that indicates whether the image represents a Windows console application. + if the image is a Windows console applications; otherwise, . To be added. @@ -312,8 +326,8 @@ System.Boolean - To be added. - To be added. + Gets a value that indicates whether the image represents a dynamic link library. + if the image is a DLL; otherwise, . To be added. @@ -338,8 +352,8 @@ System.Boolean - To be added. - To be added. + Gets a value that indicates whether the image represents an executable. + if the image is an executable; otherwise, . To be added. @@ -364,8 +378,8 @@ System.Int32 - To be added. - To be added. + Gets the size of the CLI metadata. + the size of the CLI metadata, or 0 if the image does not contain metadata. To be added. @@ -390,8 +404,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -416,8 +430,8 @@ System.Reflection.PortableExecutable.PEHeader - To be added. - To be added. + Gets the image's PE header. + The image's PE header, or if the image is COFF only. To be added. @@ -442,8 +456,8 @@ System.Int32 - To be added. - To be added. + 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. To be added. @@ -468,8 +482,8 @@ System.Collections.Immutable.ImmutableArray<System.Reflection.PortableExecutable.SectionHeader> - To be added. - To be added. + Gets the PE section headers. + An array containing the PE section headers. To be added. @@ -498,10 +512,10 @@ - To be added. - To be added. - To be added. - To be added. + The PE directory entry. + When the method returns, contains the offset from the start of the image to the given directory data. + Gets the offset (in bytes) from the start of the image to the given directory data. + if the directory data is found; otherwise. To be added. diff --git a/xml/System.Reflection.PortableExecutable/PEMemoryBlock.xml b/xml/System.Reflection.PortableExecutable/PEMemoryBlock.xml index fc2d2766034..14be5983d2c 100644 --- a/xml/System.Reflection.PortableExecutable/PEMemoryBlock.xml +++ b/xml/System.Reflection.PortableExecutable/PEMemoryBlock.xml @@ -50,8 +50,8 @@ - To be added. - To be added. + Reads the contents of the entire block into an array. + An immutable byte array. To be added. @@ -78,11 +78,12 @@ - To be added. - To be added. - To be added. - To be added. + The starting position in the block. + The number of bytes to read. + Reads the contents of a part of the block into an array. + An immutable array of bytes. To be added. + The specified range is not contained within the block. @@ -105,8 +106,8 @@ - To be added. - To be added. + Creates a for a blob spanning the entire block. + A reader for a blob spanning the entire block. To be added. @@ -133,11 +134,12 @@ - To be added. - To be added. - To be added. - To be added. + The starting position in the block. + The number of bytes in the portion of the block. + Creates a for a blob spanning a part of the block. + A reader for a blob spanning a portion of the block. To be added. + The specified range is not contained within the block. @@ -161,8 +163,8 @@ System.Int32 - To be added. - To be added. + Gets the length of the block. + The length of the block. To be added. @@ -186,8 +188,8 @@ System.Byte* - To be added. - To be added. + Gets a pointer to the first byte of the block. + A pointer to the first byte of the block. To be added. diff --git a/xml/System.Reflection.PortableExecutable/PEReader.xml b/xml/System.Reflection.PortableExecutable/PEReader.xml index aa02b829396..70143dde642 100644 --- a/xml/System.Reflection.PortableExecutable/PEReader.xml +++ b/xml/System.Reflection.PortableExecutable/PEReader.xml @@ -23,8 +23,16 @@ - To be added. - To be added. + Provides a reader for Portable Executable format (PE) files. + + ). + + ]]> + @@ -48,9 +56,18 @@ - To be added. - To be added. - To be added. + An immutable array of bytes representing the PE image. + Creates a Portable Executable reader over a PE image stored in a byte array. + + + + ]]> + + is . @@ -74,9 +91,18 @@ - To be added. - To be added. - To be added. + PE image stream. + Creates a Portable Executable reader over a PE image stored in a stream. + + upon successful validation of constructor arguments. It will be disposed by the and the caller must not manipulate it. + + ]]> + + is . @@ -100,10 +126,23 @@ - To be added. - To be added. - To be added. - To be added. + A pointer to the start of the PE image. + The size of the PE image. + Creates a Portable Executable reader over a PE image stored in memory. + + . The caller is responsible for keeping the memory alive and unmodified throughout the lifetime of the . + + +The content of the image is not read during the construction of the + + ]]> + + is . + is negative. @@ -128,10 +167,26 @@ - To be added. - To be added. - To be added. - To be added. + A PE image stream. + Options specifying how sections of the PE image are read from the stream. + 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. + + is specified, ownership of the stream is transferred to the upon successful argument validation. It will be disposed by the and the caller must not manipulate it. + +Unless or is specified, no data is read from the stream during the construction of the . Furthermore, the stream must not be manipulated by caller while the is alive and undisposed. + +If `options` includes or , the will have read all of the data requested during construction. As such, if is also specified, the caller retains full ownership of the stream and is assured that it will not be manipulated by the after construction. + + ]]> + + 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. @@ -154,11 +209,24 @@ - To be added. - To be added. - To be added. - To be added. - To be added. + 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, . + Creates a Portable Executable reader over a PE image stored in memory. A flag indicates whether the image has already been loaded into memory. + + is disposed. The caller is responsible for keeping the memory alive and unmodified throughout the lifetime of the . + + +The content of the image is not read during the construction of the + + ]]> + + is . + is negative. @@ -184,11 +252,26 @@ - To be added. - To be added. - To be added. - To be added. - To be added. + A PE image stream. + Options specifying how sections of the PE image are read from the stream. + The PE image size. + Creates a Portable Executable reader over a PE image of the given size beginning at the stream's current position. + + is specified, ownership of the stream is transferred to the upon successful argument validation. It will be disposed by the , and the caller must not manipulate it. + +Unless or is specified, no data is read from the stream during the construction of the . Furthermore, the stream must not be manipulated by the caller while the is alive and undisposed. + +If `options` includes the or values, the will have read all of the data requested during construction. As such, if is also specified, the caller retains full ownership of the stream and is assured that it will not be manipulated by the after construction. + + ]]> + + 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. @@ -216,8 +299,18 @@ - To be added. - To be added. + Disposes all memory allocated by the reader. + + [!IMPORTANT] +> can be called multiple times, but not in parallel. +> It is not safe to call in parallel with any other operation on the or when reading from s retrieved from the reader. + + ]]> + @@ -242,9 +335,16 @@ - To be added. - To be added. - To be added. + Gets a object containing the entire PE image. + A memory block that contains the entire PE image. + + property to determine whether the makes the entire image available. + + ]]> + + The entire PE image is not available. @@ -269,9 +369,12 @@ - To be added. - To be added. + Loads a PE section that contains CLI metadata. + A memory block that contains the CLI metadata. To be added. + The PE image doesn't contain metadata ( returns ). + The PE headers contain invalid data. + IO error while reading from the underlying stream. @@ -298,10 +401,14 @@ - To be added. - To be added. - To be added. + The Relative Virtual Address of the data to read. + 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. + A memory block that starats 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. To be added. + The PE headers contain invalid data. + An IO error occurred while reading from the underlying stream. + The PE image is not available. + is negative. @@ -326,10 +433,12 @@ - To be added. - To be added. - To be added. + The name of the section. + Loads the PE section with the specified name into memory and returns a memory block that spans the section. + A memory block that spans the section, or an empty block if no section of the given exists in this PE image. To be added. + is . + The PE image is not available. @@ -353,9 +462,11 @@ System.Boolean - To be added. - To be added. + Gets a value that indicates if the PE image contains CLI metadata. + if the PE image contains CLI metadata; otherwise, . To be added. + The PE headers contain invalid data. + Error reading from the underlying stream. @@ -379,9 +490,17 @@ System.Boolean - To be added. - To be added. - To be added. + Gets a value that indicates if the reader can access the entire PE image. + if the reader can access the entire PE image; otherwise, . + + is constructed from a stream and only part of it is prefetched into memory. + + ]]> + @@ -403,8 +522,8 @@ System.Boolean - To be added. - To be added. + 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, . To be added. @@ -429,9 +548,11 @@ System.Reflection.PortableExecutable.PEHeaders - To be added. - To be added. + Gets the PE headers. + The PE headers for this PE image. To be added. + The headers contain invalid data. + Error reading from the stream. @@ -457,10 +578,14 @@ - To be added. - To be added. - To be added. + A Debug Directory entry instance. + Reads the data pointed to by the specified Debug Directory entry and interprets it as CodeView. + A code view debug directory data instance. To be added. + is not a CodeView entry. + Bad format of the data. + IO error while reading from the underlying stream. + The PE image is not available. @@ -484,9 +609,12 @@ - To be added. - To be added. + Reads all Debug Directory table entries. + An array of Debug Directory table entries. To be added. + Bad format of the entry. + IO error while reading from the underlying stream. + The PE image is not available. @@ -511,10 +639,13 @@ - To be added. - To be added. - To be added. + The Debug Directory entry whose data is to be read. + Reads the data pointed to by the specified Debug Directory entry and interprets it as an Embedded Portable PDB blob. + The provider of a metadata reader for reading a Portable PDB image. To be added. + is not a entry. + Bad format of the data. + PE image not available. @@ -537,10 +668,14 @@ - To be added. - To be added. - To be added. + The Debug Directory entry whose data is to be read. + Reads the data pointed to by the specified Debug Directory entry and interprets it as a PDB Checksum entry. + The PDB Checksum entry. To be added. + 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. @@ -568,13 +703,32 @@ - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. - To be added. + 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. + Opens a Portable PDB associated with this PE image. + if the PE image has a PDB associated with it and the PDB has been successfully opened; otherwise, . + + + + 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. diff --git a/xml/System.Reflection.PortableExecutable/PEStreamOptions.xml b/xml/System.Reflection.PortableExecutable/PEStreamOptions.xml index 97f25dced95..d204f2f2cfb 100644 --- a/xml/System.Reflection.PortableExecutable/PEStreamOptions.xml +++ b/xml/System.Reflection.PortableExecutable/PEStreamOptions.xml @@ -23,7 +23,7 @@ - To be added. + Provides options that specify how sections of a PE image are read from a stream. To be added. @@ -49,7 +49,7 @@ 0 - To be added. + By default, the stream is disposed when the is disposed, and sections of the PE image are read lazily. @@ -72,7 +72,7 @@ 8 - To be added. + Indicates that the underlying PE image has been loaded into memory by the OS loader. @@ -97,7 +97,7 @@ 1 - To be added. + Keeps the stream open when the is disposed. @@ -122,7 +122,7 @@ 4 - To be added. + Reads the entire image into memory right away. closes the stream automatically by the time the constructor returns unless is specified. @@ -147,7 +147,7 @@ 2 - To be added. + 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.