PEReader 建構函式

定義

多載

名稱 Description
PEReader(ImmutableArray<Byte>)

建立可攜式可執行檔讀取器,覆蓋儲存在位元組陣列中的 PE 映像檔。

PEReader(Stream)

建立可攜式可執行檔讀取器,並儲存在串流中的 PE 映像檔。

PEReader(Byte*, Int32)

建立一個可攜式可執行檔讀取器,並儲存在記憶體中的 PE 映像。

PEReader(Stream, PEStreamOptions)

建立一個可攜式可執行檔讀取器,儲存在從當前位置開始、結束於串流末端的串流中。

PEReader(Byte*, Int32, Boolean)

建立一個可攜式可執行檔讀取器,並儲存在記憶體中的 PE 映像。 旗標表示影像是否已經載入記憶體。

PEReader(Stream, PEStreamOptions, Int32)

從串流當前位置開始,建立可攜式可執行檔讀取器,讀取大小為指定大小。

PEReader(ImmutableArray<Byte>)

來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
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)

來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
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)

來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
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)

來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs

建立一個可攜式可執行檔讀取器,儲存在從當前位置開始、結束於串流末端的串流中。

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.PrefetchEntireImage,則 PEReader 已讀取施工期間所有要求的資料。 因此,若 PEStreamOptions.LeaveOpen 也被指定,呼叫者將完全擁有該串流,並保證不會被 PEReader 製作後續的版本操控。

適用於

PEReader(Byte*, Int32, Boolean)

來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
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 映像檔載入記憶體;否則,。 false

例外狀況

peImageZero

size 為負數。

備註

記憶體屬於呼叫者所有,且在處理時不會被釋放 PEReader 。 呼叫者負責在 的整個生命週期 PEReader內保持記憶體存活且不被修改。

在建構 PEReader

適用於

PEReader(Stream, PEStreamOptions, Int32)

來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs
來源:
PEReader.cs

從串流當前位置開始,建立可攜式可執行檔讀取器,讀取大小為指定大小。

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 製作後續的版本操控。

適用於