PEReader 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | 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 映像。
例外狀況
peImage 是 null。
備註
在建構 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映像串流。
例外狀況
peStream 是 null。
備註
當建構子參數成功驗證時,串流的所有權轉移給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影像的大小。
例外狀況
peImage 是 Zero。
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 映像的各部分。
例外狀況
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)
- 來源:
- 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
例外狀況
peImage 是 Zero。
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.PrefetchMetadata 或 PEStreamOptions.PrefetchEntireImage 另有指定,否則在建 PEReader構 的過程中不會從串流讀取資料。 此外,在 還 PEReader 活著且未被處理時,呼叫者不得操控該串流。
若 options 包含 或 PEStreamOptions.PrefetchMetadataPEStreamOptions.PrefetchEntireImage 值,則 PEReader 已讀取施工期間所有要求的資料。 因此,若 PEStreamOptions.LeaveOpen 也被指定,呼叫者將完全擁有該串流,並保證不會被 PEReader 製作後續的版本操控。