Share via


MetadataReaderProvider.FromMetadataStream 方法

定義

從資料流目前的位置開始,為指定大小的資料流建立提供者。

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

參數

stream
Stream

Stream 執行個體。

options
MetadataStreamOptions

指定如何從資料流讀取映像區段方法的選項。

size
Int32

資料流內中繼資料 Blob 的大小。 若未指定,則假設中繼資料 Blob 會延展到資料流結尾。

傳回

新的提供者。

例外狀況

streamnull

stream 不支援讀取及搜尋作業。

大小為負數或延展超過資料流的結尾。

從資料流讀取時發生錯誤 (只有在指定了 PrefetchMetadata 時)。

備註

除非 MetadataStreamOptions.LeaveOpen 指定 ,否則資料流的擁有權會在成功自變數驗證時傳送至 MetadataReaderProvider 。 它會由 MetadataReaderProvider處置,而且呼叫端不得操作它。

除非 MetadataStreamOptions.PrefetchMetadata 指定 ,否則在 建構 MetadataReaderProvider期間不會從數據流讀取任何數據。 此外,當運作且未儲存時 MetadataReaderProvider ,呼叫端不得操作數據流。

如果 MetadataStreamOptions.PrefetchMetadata為 ,則會 MetadataReaderProvider 讀取建構期間要求的所有數據。 因此,如果 MetadataStreamOptions.LeaveOpen 也指定 ,呼叫端會保留數據流的完整擁有權,並確保在建構之後不會加以操作 MetadataReaderProvider

適用於