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>)
- 來源:
- 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
透過儲存在資料流中的 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
透過儲存在記憶體中的 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
透過儲存在記憶體中的 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)
- 來源:
- 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
。
例外狀況
peImage
為 Zero。
size
為負。
備註
記憶體是由呼叫端所擁有,而且在處置 時 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.PrefetchMetadata 或 PEStreamOptions.PrefetchEntireImage 值,則會 PEReader 讀取建構期間要求的所有資料。 因此,如果 PEStreamOptions.LeaveOpen 也指定 ,呼叫端會保留資料流程的完整擁有權,並確保在建構之後不會加以操作 PEReader 。