PEReader 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| 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 映像的字节的不可变数组。
例外
peImage 是 null。
注解
图像的内容在构造过程中不读取 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 图像流。
例外
peStream 是 null。
注解
成功验证构造函数参数后,将流的所有权转移到 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 映像的大小。
例外
peImage 是 Zero。
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 映像部分的选项。
例外
peStream 是 null。
options 具有无效值。
从流读取错误(仅当预提取数据时)。
PrefetchMetadata 指定 ,映像的 PE 标头无效。
注解
除非 PEStreamOptions.LeaveOpen 指定,否则在成功参数验证后,流的所有权将 PEReader 转移到该流。 它将由 PEReader 调用方释放,并且调用方不得对其进行操作。
除非 PEStreamOptions.PrefetchMetadata 或 PEStreamOptions.PrefetchEntireImage 已指定,否则在构造 PEReader过程中不会从流中读取任何数据。 此外,在活动和未公开的情况下 PEReader ,调用方不得操作流。
如果 options 包括 PEStreamOptions.PrefetchMetadata 或 PEStreamOptions.PrefetchEntireImage, PEReader 将读取在构造过程中请求的所有数据。 因此,如果 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.
例外
peImage 是 Zero。
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.PrefetchMetadata 或 PEStreamOptions.PrefetchEntireImage 已指定,否则在构造 PEReader过程中不会从流中读取任何数据。 此外,调用方不得在活动且未公开的情况下 PEReader 操作流。
如果 options 包含 PEStreamOptions.PrefetchMetadata 或 PEStreamOptions.PrefetchEntireImage 值, PEReader 则会读取在构造过程中请求的所有数据。 因此,如果 PEStreamOptions.LeaveOpen 还指定了,调用方将保留流的完全所有权,并保证在构造后不会对其进行操作 PEReader 。