PEReader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供可攜式可執行檔格式 (PE) 檔案的讀取器。
public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
- 繼承
-
PEReader
- 實作
備註
注意事項
這種類型並非設計用來處理不受信任的輸入。 格式錯誤或惡意的 PE 檔案可能導致意外行為,包括記憶體存取超出範圍、當機或凍結。 只使用 PEReader 可信的 PE 檔案或圖片。
實作是執行緒安全的。 也就是說,多個執行緒可以同時從讀取器讀取資料。 讀取器的處理方式並非執行緒安全(參見 Dispose())。
建構函式
| 名稱 | Description |
|---|---|
| PEReader(Byte*, Int32) |
建立一個可攜式可執行檔讀取器,並儲存在記憶體中的 PE 映像。 |
| PEReader(ImmutableArray<Byte>) |
建立可攜式可執行檔讀取器,覆蓋儲存在位元組陣列中的 PE 映像檔。 |
| PEReader(Stream, PEStreamOptions, Int32) |
從串流當前位置開始,建立可攜式可執行檔讀取器,讀取大小為指定大小。 |
| PEReader(Stream, PEStreamOptions) |
建立一個可攜式可執行檔讀取器,儲存在從當前位置開始、結束於串流末端的串流中。 |
| PEReader(Stream) |
建立可攜式可執行檔讀取器,並儲存在串流中的 PE 映像檔。 |
屬性
| 名稱 | Description |
|---|---|
| HasMetadata |
會取得一個值,指示 PE 映像是否包含 CLI 元資料。 |
| IsEntireImageAvailable |
會得到一個值,表示讀取器是否能存取整個 PE 映像。 |
| PEHeaders |
取得 PE 標頭。 |
方法
| 名稱 | Description |
|---|---|
| Dispose() |
處理讀取器分配的所有記憶體。 |
| Equals(Object) |
判斷指定的 物件是否等於目前的物件。 (繼承來源 Object) |
| GetEntireImage() |
取得 PEMemoryBlock 包含完整 PE 影像的物件。 |
| GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
| GetMetadata() |
載入包含 CLI 元資料的 PE 區段。 |
| GetSectionData(Int32) |
將包含指定相對虛擬位址的 PE 區段載入記憶體,並回傳一個從該位址開始、至所含區段結束的記憶體區塊。 |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
擴充方法
| 名稱 | Description |
|---|---|
| GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder) |
從 取得具有指定中繼資料讀取配置與編碼配置 PEReader的元資料讀取器。 |
| GetMetadataReader(PEReader, MetadataReaderOptions) |
從 中取得具有指定元資料讀取配置的元資料讀取器。PEReader |
| GetMetadataReader(PEReader) |
從 MetadataReader中得到 a PEReader 。 |
| GetMethodBody(PEReader, Int32) |
回傳方法的主體區塊,並指定為相對虛擬位址(RVA)。 |