PEReader 构造函数

定义

重载

名称 说明
PEReader(ImmutableArray<Byte>)

通过存储在字节数组中的 PE 映像创建可移植可执行读取器。

PEReader(Stream)

通过流中存储的 PE 映像创建可移植可执行读取器。

PEReader(Byte*, Int32)

通过内存中存储的 PE 映像创建可移植可执行读取器。

PEReader(Stream, PEStreamOptions)

通过存储在流中的 PE 映像创建可移植可执行读取器,该映像从其当前位置开始,并在流末尾结束。

PEReader(Byte*, Int32, Boolean)

通过内存中存储的 PE 映像创建可移植可执行读取器。 标志指示映像是否已加载到内存中。

PEReader(Stream, PEStreamOptions, Int32)

基于给定大小的 PE 映像创建可移植可执行读取器,该映像从流的当前位置开始。

PEReader(ImmutableArray<Byte>)

Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs

通过存储在字节数组中的 PE 映像创建可移植可执行读取器。

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))

参数

peImage
ImmutableArray<Byte>

表示 PE 映像的字节的不可变数组。

例外

peImagenull

注解

图像的内容在构造过程中不读取 PEReader

适用于

PEReader(Stream)

Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs

通过流中存储的 PE 映像创建可移植可执行读取器。

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)

参数

peStream
Stream

PE 图像流。

例外

peStreamnull

注解

成功验证构造函数参数后,将流的所有权转移到 PEReader 该流。 它将由 PEReader 调用方释放,并且调用方不得对其进行操作。

适用于

PEReader(Byte*, Int32)

Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs

通过内存中存储的 PE 映像创建可移植可执行读取器。

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

参数

peImage
Byte*

指向 PE 映像开头的指针。

size
Int32

PE 映像的大小。

例外

peImageZero

size 为负数。

注解

内存由调用方拥有,未释放处理。PEReader 调用方负责使内存保持活动状态,并在整个生存期内 PEReader未修改。

图像的内容在构造过程中不读取 PEReader

适用于

PEReader(Stream, PEStreamOptions)

Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs

通过存储在流中的 PE 映像创建可移植可执行读取器,该映像从其当前位置开始,并在流末尾结束。

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)

参数

peStream
Stream

PE 图像流。

options
PEStreamOptions

指定如何从流中读取 PE 映像部分的选项。

例外

peStreamnull

options 具有无效值。

从流读取错误(仅当预提取数据时)。

PrefetchMetadata 指定 ,映像的 PE 标头无效。

注解

除非 PEStreamOptions.LeaveOpen 指定,否则在成功参数验证后,流的所有权将 PEReader 转移到该流。 它将由 PEReader 调用方释放,并且调用方不得对其进行操作。

除非 PEStreamOptions.PrefetchMetadataPEStreamOptions.PrefetchEntireImage 已指定,否则在构造 PEReader过程中不会从流中读取任何数据。 此外,在活动和未公开的情况下 PEReader ,调用方不得操作流。

如果 options 包括 PEStreamOptions.PrefetchMetadataPEStreamOptions.PrefetchEntireImagePEReader 将读取在构造过程中请求的所有数据。 因此,如果 PEStreamOptions.LeaveOpen 还指定了,调用方将保留流的完全所有权,并保证在构造后不会对其进行操作 PEReader

适用于

PEReader(Byte*, Int32, Boolean)

Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs

通过内存中存储的 PE 映像创建可移植可执行读取器。 标志指示映像是否已加载到内存中。

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

参数

peImage
Byte*

指向 PE 映像开头的指针。

size
Int32

PE 映像的大小。

isLoadedImage
Boolean

true 如果 PE 映像已由 OS 加载程序加载到内存中,则为否则,为 false.

例外

peImageZero

size 为负数。

注解

内存归调用方所有,在释放内存时 PEReader 不会释放。 调用方负责使内存保持活动状态,并在整个生存期内 PEReader未修改。

图像的内容在构造过程中不读取 PEReader

适用于

PEReader(Stream, PEStreamOptions, Int32)

Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs
Source:
PEReader.cs

基于给定大小的 PE 映像创建可移植可执行读取器,该映像从流的当前位置开始。

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)

参数

peStream
Stream

PE 图像流。

options
PEStreamOptions

指定如何从流中读取 PE 映像部分的选项。

size
Int32

PE 映像大小。

例外

size 为负值或扩展超过流的末尾。

从流读取错误(仅当预提取数据时)。

PrefetchMetadata 指定 ,映像的 PE 标头无效。

注解

除非 PEStreamOptions.LeaveOpen 指定,否则在成功参数验证后,流的所有权将 PEReader 转移到该流。 它将由 PEReader该调用方释放,调用方不得对其进行操作。

除非 PEStreamOptions.PrefetchMetadataPEStreamOptions.PrefetchEntireImage 已指定,否则在构造 PEReader过程中不会从流中读取任何数据。 此外,调用方不得在活动且未公开的情况下 PEReader 操作流。

如果 options 包含 PEStreamOptions.PrefetchMetadataPEStreamOptions.PrefetchEntireImage 值, PEReader 则会读取在构造过程中请求的所有数据。 因此,如果 PEStreamOptions.LeaveOpen 还指定了,调用方将保留流的完全所有权,并保证在构造后不会对其进行操作 PEReader

适用于