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

來源:
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

透過儲存在資料流中的 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

透過儲存在記憶體中的 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

備註

記憶體是由呼叫端所擁有,不會在處置 PEReader 時釋放。 呼叫端負責讓記憶體保持運作,並在 的 PEReader 存留期內保持未修改。

在建構 期間不會讀取影像的內容 PEReader

適用於

PEReader(Stream, PEStreamOptions)

來源:
PEReader.cs
來源:
PEReader.cs
來源:
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.PrefetchEntireImage ,則會 PEReader 讀取建構期間要求的所有資料。 因此,如果 PEStreamOptions.LeaveOpen 也指定 ,呼叫端會保留資料流程的完整擁有權,並確保在建構之後不會加以操作 PEReader

適用於

PEReader(Byte*, Int32, Boolean)

來源:
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

如果作業系統載入器已將 PE 映像載入至記憶體,則為 true;否則為 false

例外狀況

peImageZero

備註

記憶體是由呼叫端所擁有,而且在處置 時 PEReader 不會釋放。 呼叫端負責讓記憶體保持運作,並在 的 PEReader 存留期內保持未修改。

在建構 期間不會讀取影像的內容 PEReader

適用於

PEReader(Stream, PEStreamOptions, Int32)

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

適用於