Condividi tramite


MetadataReaderProvider.FromMetadataStream Metodo

Definizione

Crea un provider per un flusso delle dimensioni specificate con inizio nella 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

Istanza di 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.

Restituisce

Il nuovo provider.

Eccezioni

stream è null.

stream non supporta le operazioni read (lettura) e seek (ricerca).

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

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

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 da 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 nondisposito.

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