Freigeben über


PEReader Klasse

Definition

Stellt einen Reader für portierbare ausführbare Dateien (PE) bereit.

public ref class PEReader sealed : IDisposable
public sealed class PEReader : IDisposable
type PEReader = class
    interface IDisposable
Public NotInheritable Class PEReader
Implements IDisposable
Vererbung
PEReader
Implementiert

Hinweise

Die Implementierung ist threadsicher. Das heißt, mehrere Threads können Daten aus dem Reader parallel lesen. Die Entsorgung des Lesers ist nicht threadsicher (siehe Dispose()).

Konstruktoren

PEReader(Byte*, Int32)

Erstellt einen PE-Reader über ein PE-Image, das im Arbeitsspeicher gespeichert ist.

PEReader(Byte*, Int32, Boolean)

Erstellt einen PE-Reader über ein PE-Image, das im Arbeitsspeicher gespeichert ist. Ein Kennzeichen gibt an, ob das Image bereits in den Arbeitsspeicher geladen wurde.

PEReader(ImmutableArray<Byte>)

Erstellt einen PE-Reader über ein PE-Image, das in einem Bytearray gespeichert ist.

PEReader(Stream)

Erstellt einen PE-Reader über ein PE-Image, das in einem Datenstrom gespeichert ist.

PEReader(Stream, PEStreamOptions)

Erstellt einen PE-Reader über ein PE-Image, das in einem Datenstrom gespeichert ist. Der Anfang liegt dabei bei der aktuellen Position, das Ende am Ende des Datenstroms.

PEReader(Stream, PEStreamOptions, Int32)

Erstellt einen PE-Reader über ein PE-Image der angegebenen Größe. Der Anfang liegt dabei bei der aktuellen Position des Datenstroms.

Eigenschaften

HasMetadata

Ruft einen Wert ab, der angibt, ob das PE-Image CLI-Metadaten enthält.

IsEntireImageAvailable

Ruft einen Wert ab, der angibt, ob der Reader Zugriff auf das gesamte PE-Image hat.

IsLoadedImage

Ruft einen Wert ab, der angibt, ob das PE-Image durch das Betriebssystem-Ladeprogramm in den Arbeitsspeicher geladen wurde.

PEHeaders

Ruft die PE-Header ab.

Methoden

Dispose()

Verwirft den gesamten vom Leser zugewiesenen Speicher.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEntireImage()

Ruft ein PEMemoryBlock-Objekt ab, das das gesamte PE-Image enthält.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetMetadata()

Lädt einen PE-Abschnitt, der CLI-Metadaten enthält.

GetSectionData(Int32)

Lädt den PE-Abschnitt, der die angegebene relative virtuelle Adresse enthält, in den Arbeitsspeicher und gibt einen Arbeitsspeicherblock zurück, der an dieser Adresse beginnt und am Ende des enthaltenden Abschnitts endet.

GetSectionData(String)

Lädt den PE-Abschnitt mit dem angegebenen Namen in den Arbeitsspeicher und gibt einen Arbeitsspeicherblock zurück, der den Abschnitt umfasst.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ReadCodeViewDebugDirectoryData(DebugDirectoryEntry)

Liest die Daten, auf die der angegebene Debugverzeichniseintrag zeigt, und interpretiert diese als CodeView.

ReadDebugDirectory()

Liest alle Debugverzeichnistabelleneinträge.

ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry)

Liest die Daten, auf die der angegebene Debugverzeichniseintrag zeigt, und interpretiert diese als eingebetteten portierbaren PDB-Blob.

ReadPdbChecksumDebugDirectoryData(DebugDirectoryEntry)

Liest die Daten, auf die der angegebene Debugverzeichniseintrag zeigt, und interpretiert diese als PDB-Prüfsummeneintrag.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryOpenAssociatedPortablePdb(String, Func<String,Stream>, MetadataReaderProvider, String)

Öffnet eine portierbare PDB-Datei, die diesem PE-Image zugeordnet ist.

Erweiterungsmethoden

GetMetadataReader(PEReader)

Ruft MetadataReader aus PEReader ab.

GetMetadataReader(PEReader, MetadataReaderOptions)

Ruft einen Metadatenleser mit der angegebenen Metadatenlesekonfiguration aus einem ab PEReader.

GetMetadataReader(PEReader, MetadataReaderOptions, MetadataStringDecoder)

Ruft einen Metadatenleser mit der angegebenen Konfiguration zum Lesen von Metadaten und der Codierungskonfiguration aus einem PEReader ab.

GetMethodBody(PEReader, Int32)

Gibt einen Textblock einer Methode mit der angegebenen relativen virtuellen Adresse (Relative Virtual Address, RVA) zurück.

Gilt für: