Share via


MetadataReaderProvider.FromMetadataStream Methode

Definition

Erstellt einen Anbieter für einen Stream der angegebenen Größe, beginnend an der aktuellen Position.

public static System.Reflection.Metadata.MetadataReaderProvider FromMetadataStream (System.IO.Stream stream, System.Reflection.Metadata.MetadataStreamOptions options = System.Reflection.Metadata.MetadataStreamOptions.Default, int size = 0);
static member FromMetadataStream : System.IO.Stream * System.Reflection.Metadata.MetadataStreamOptions * int -> System.Reflection.Metadata.MetadataReaderProvider
Public Shared Function FromMetadataStream (stream As Stream, Optional options As MetadataStreamOptions = System.Reflection.Metadata.MetadataStreamOptions.Default, Optional size As Integer = 0) As MetadataReaderProvider

Parameter

stream
Stream

Eine Stream-Instanz.

options
MetadataStreamOptions

Optionen, die angeben, wie Abschnitte des Images aus dem Stream gelesen werden.

size
Int32

Größe des Metadatenblobs im Stream. Ist dieser Wert nicht angegeben, wird angenommen, dass sich der Metadatenblob bis zum Ende des Streams erstreckt.

Gibt zurück

Der neue Anbieter.

Ausnahmen

stream ist null.

stream unterstützt keine Lese- und Suchvorgänge.

Größe ist negativ oder erstreckt sich über das Ende des Streams hinaus.

Fehler beim Lesen aus dem Stream (nur wenn PrefetchMetadata angegeben ist).

Hinweise

Sofern nicht MetadataStreamOptions.LeaveOpen angegeben, wird der Besitz des Datenstroms nach erfolgreicher Argumentvalidierung an die MetadataReaderProvider übertragen. Sie wird vom MetadataReaderProviderverworfen, und der Aufrufer darf sie nicht bearbeiten.

Sofern nicht MetadataStreamOptions.PrefetchMetadata angegeben, werden beim Erstellen von MetadataReaderProviderkeine Daten aus dem Stream gelesen. Darüber hinaus darf der Stream nicht vom Aufrufer manipuliert werden, während der MetadataReaderProvider am Leben ist und nicht vorhanden ist.

Wenn MetadataStreamOptions.PrefetchMetadata, hat die MetadataReaderProvider alle während des Baus angeforderten Daten gelesen. MetadataStreamOptions.LeaveOpen Wenn also auch angegeben wird, behält der Aufrufer den vollständigen Besitz des Datenstroms und ist versichert, dass er nach dem MetadataReaderProvider Aufbau nicht manipuliert wird.

Gilt für: