MetadataReaderProvider.FromMetadataStream Metodo

Definizione

Crea un provider per un flusso delle dimensioni specificate a partire dalla posizione corrente.

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

Parametri

stream
Stream

Un'istanza Stream.

options
MetadataStreamOptions

Opzioni che specificano la modalità di lettura delle sezioni dell'immagine dal flusso.

size
Int32

Dimensioni del BLOB di metadati nel flusso. Se non specificato, si presuppone che il BLOB di metadati si estenda fino alla fine del flusso.

Valori restituiti

Nuovo provider.

Eccezioni

stream è null.

stream non supporta operazioni di lettura e ricerca.

Le dimensioni sono negative o si estendono oltre la fine del flusso.

Errore durante la lettura dal flusso (solo quando PrefetchMetadata viene specificato).

Commenti

A meno che non MetadataStreamOptions.LeaveOpen venga specificato, la proprietà del flusso viene trasferita a al momento della convalida dell'argomento MetadataReaderProvider . Verrà eliminato dall'oggetto MetadataReaderProvidere il chiamante non deve modificarlo.

A meno che MetadataStreamOptions.PrefetchMetadata non venga specificato, nessun dato viene letto dal flusso durante la MetadataReaderProvidercostruzione di . Inoltre, il flusso non deve essere manipolato dal chiamante mentre MetadataReaderProvider è attivo e non esposto.

Se MetadataStreamOptions.PrefetchMetadata, avrà MetadataReaderProvider letto tutti i dati richiesti durante la costruzione. Di conseguenza, se MetadataStreamOptions.LeaveOpen viene specificato anche, il chiamante mantiene la proprietà completa del flusso e garantisce che non verrà manipolato dalla MetadataReaderProvider costruzione successiva.

Si applica a