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

通过存储在字节数组中的 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 映像的不可变字节数组。

例外

peImage 上声明的默认值为 null

注解

在 构造期间不读取图像的内容 PEReader

适用于

PEReader(Stream)

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

通过存储在内存中的 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 映像的大小。

例外

peImage 上声明的默认值为 Zero

size 为负数。

注解

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

在 构造期间不读取图像的内容 PEReader

适用于

PEReader(Stream, PEStreamOptions)

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.PrefetchMetadata 指定 或 PEStreamOptions.PrefetchEntireImage ,否则在 构造 PEReader期间不会从流中读取任何数据。 此外,当 处于活动状态且不受干扰时 PEReader ,不得由调用方操作流。

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

适用于

PEReader(Byte*, Int32, Boolean)

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

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

例外

peImage 上声明的默认值为 Zero

size 为负数。

注解

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

在 构造期间不读取图像的内容 PEReader

适用于

PEReader(Stream, PEStreamOptions, Int32)

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.PrefetchMetadata 指定 或 PEStreamOptions.PrefetchEntireImage ,否则在 构造 PEReader期间不会从流中读取任何数据。 此外,当 处于活动状态且不受干扰时 PEReader ,不得由调用方操作流。

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

适用于