PEReader Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
PEReader(ImmutableArray<Byte>) |
Creates a Portable Executable reader over a PE image stored in a byte array. |
PEReader(Stream) |
Creates a Portable Executable reader over a PE image stored in a stream. |
PEReader(Byte*, Int32) |
Creates a Portable Executable reader over a PE image stored in memory. |
PEReader(Stream, PEStreamOptions) |
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. |
PEReader(Byte*, Int32, Boolean) |
Creates a Portable Executable reader over a PE image stored in memory. A flag indicates whether the image has already been loaded into memory. |
PEReader(Stream, PEStreamOptions, Int32) |
Creates a Portable Executable reader over a PE image of the given size beginning at the stream's current position. |
PEReader(ImmutableArray<Byte>)
- Source:
- PEReader.cs
- Source:
- PEReader.cs
- Source:
- PEReader.cs
Creates a Portable Executable reader over a PE image stored in a byte array.
public:
PEReader(System::Collections::Immutable::ImmutableArray<System::Byte> peImage);
public PEReader (System.Collections.Immutable.ImmutableArray<byte> peImage);
new System.Reflection.PortableExecutable.PEReader : System.Collections.Immutable.ImmutableArray<byte> -> System.Reflection.PortableExecutable.PEReader
Public Sub New (peImage As ImmutableArray(Of Byte))
Parameters
- peImage
- ImmutableArray<Byte>
An immutable array of bytes representing the PE image.
Exceptions
peImage
is null
.
Remarks
The content of the image is not read during the construction of the PEReader
Applies to
PEReader(Stream)
- Source:
- PEReader.cs
- Source:
- PEReader.cs
- Source:
- PEReader.cs
Creates a Portable Executable reader over a PE image stored in a stream.
public:
PEReader(System::IO::Stream ^ peStream);
public PEReader (System.IO.Stream peStream);
new System.Reflection.PortableExecutable.PEReader : System.IO.Stream -> System.Reflection.PortableExecutable.PEReader
Public Sub New (peStream As Stream)
Parameters
- peStream
- Stream
PE image stream.
Exceptions
peStream
is null
.
Remarks
Ownership of the stream is transferred to the PEReader upon successful validation of constructor arguments. It will be disposed by the PEReader and the caller must not manipulate it.
Applies to
PEReader(Byte*, Int32)
- Source:
- PEReader.cs
- Source:
- PEReader.cs
- Source:
- PEReader.cs
Creates a Portable Executable reader over a PE image stored in memory.
public:
PEReader(System::Byte* peImage, int size);
public PEReader (byte* peImage, int size);
new System.Reflection.PortableExecutable.PEReader : nativeptr<byte> * int -> System.Reflection.PortableExecutable.PEReader
Parameters
- peImage
- Byte*
A pointer to the start of the PE image.
- size
- Int32
The size of the PE image.
Exceptions
peImage
is Zero.
size
is negative.
Remarks
The memory is owned by the caller and not released on disposal of the PEReader. The caller is responsible for keeping the memory alive and unmodified throughout the lifetime of the PEReader.
The content of the image is not read during the construction of the PEReader
Applies to
PEReader(Stream, PEStreamOptions)
- Source:
- PEReader.cs
- Source:
- PEReader.cs
- Source:
- PEReader.cs
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.
public:
PEReader(System::IO::Stream ^ peStream, System::Reflection::PortableExecutable::PEStreamOptions options);
public PEReader (System.IO.Stream peStream, System.Reflection.PortableExecutable.PEStreamOptions options);
new System.Reflection.PortableExecutable.PEReader : System.IO.Stream * System.Reflection.PortableExecutable.PEStreamOptions -> System.Reflection.PortableExecutable.PEReader
Public Sub New (peStream As Stream, options As PEStreamOptions)
Parameters
- peStream
- Stream
A PE image stream.
- options
- PEStreamOptions
Options specifying how sections of the PE image are read from the stream.
Exceptions
peStream
is null
.
options
has an invalid value.
Error reading from the stream (only when prefetching data).
PrefetchMetadata is specified, and the PE headers of the image are invalid.
Remarks
Unless PEStreamOptions.LeaveOpen is specified, ownership of the stream is transferred to the PEReader upon successful argument validation. It will be disposed by the PEReader and the caller must not manipulate it.
Unless PEStreamOptions.PrefetchMetadata or PEStreamOptions.PrefetchEntireImage is specified, no data is read from the stream during the construction of the PEReader. Furthermore, the stream must not be manipulated by caller while the PEReader is alive and undisposed.
If options
includes PEStreamOptions.PrefetchMetadata or PEStreamOptions.PrefetchEntireImage, the PEReader will have read all of the data requested during construction. As such, if PEStreamOptions.LeaveOpen is also specified, the caller retains full ownership of the stream and is assured that it will not be manipulated by the PEReader after construction.
Applies to
PEReader(Byte*, Int32, Boolean)
- Source:
- PEReader.cs
- Source:
- PEReader.cs
- Source:
- PEReader.cs
Creates a Portable Executable reader over a PE image stored in memory. A flag indicates whether the image has already been loaded into memory.
public:
PEReader(System::Byte* peImage, int size, bool isLoadedImage);
public PEReader (byte* peImage, int size, bool isLoadedImage);
new System.Reflection.PortableExecutable.PEReader : nativeptr<byte> * int * bool -> System.Reflection.PortableExecutable.PEReader
Parameters
- peImage
- Byte*
A pointer to the start of the PE image.
- size
- Int32
The size of the PE image.
- isLoadedImage
- Boolean
true
if the PE image has been loaded into memory by the OS loader; otherwise, false
.
Exceptions
peImage
is Zero.
size
is negative.
Remarks
The memory is owned by the caller and is not released when the PEReader is disposed. The caller is responsible for keeping the memory alive and unmodified throughout the lifetime of the PEReader.
The content of the image is not read during the construction of the PEReader
Applies to
PEReader(Stream, PEStreamOptions, Int32)
- Source:
- PEReader.cs
- Source:
- PEReader.cs
- Source:
- PEReader.cs
Creates a Portable Executable reader over a PE image of the given size beginning at the stream's current position.
public:
PEReader(System::IO::Stream ^ peStream, System::Reflection::PortableExecutable::PEStreamOptions options, int size);
public PEReader (System.IO.Stream peStream, System.Reflection.PortableExecutable.PEStreamOptions options, int size);
new System.Reflection.PortableExecutable.PEReader : System.IO.Stream * System.Reflection.PortableExecutable.PEStreamOptions * int -> System.Reflection.PortableExecutable.PEReader
Public Sub New (peStream As Stream, options As PEStreamOptions, size As Integer)
Parameters
- peStream
- Stream
A PE image stream.
- options
- PEStreamOptions
Options specifying how sections of the PE image are read from the stream.
- size
- Int32
The PE image size.
Exceptions
size
is negative or extends past the end of the stream.
Error reading from the stream (only when prefetching data).
PrefetchMetadata is specified, and the PE headers of the image are invalid.
Remarks
Unless PEStreamOptions.LeaveOpen is specified, ownership of the stream is transferred to the PEReader upon successful argument validation. It will be disposed by the PEReader, and the caller must not manipulate it.
Unless PEStreamOptions.PrefetchMetadata or PEStreamOptions.PrefetchEntireImage is specified, no data is read from the stream during the construction of the PEReader. Furthermore, the stream must not be manipulated by the caller while the PEReader is alive and undisposed.
If options
includes the PEStreamOptions.PrefetchMetadata or PEStreamOptions.PrefetchEntireImage values, the PEReader will have read all of the data requested during construction. As such, if PEStreamOptions.LeaveOpen is also specified, the caller retains full ownership of the stream and is assured that it will not be manipulated by the PEReader after construction.