C# Класс System.IO.NetFxToWinRtStreamAdapter

An wrapper for a managed stream that implements all WinRT stream operations. This class must not implement any WinRT stream interfaces directly. We never create instances of this class directly; instead we use classes defined in the region Interface adapters to implement WinRT ifaces and create instances of those types. See comment in that region for technical details.
Наследование: IDisposable
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
CloneStream ( ) : IRandomAccessStream
FlushAsync ( ) : IAsyncOperation
GetInputStreamAt ( UInt64 position ) : IInputStream
GetManagedStream ( ) : Stream
GetOutputStreamAt ( UInt64 position ) : IOutputStream
ReadAsync ( Windows.Storage.Streams.IBuffer buffer, UInt32 count, InputStreamOptions options ) : UInt32>.IAsyncOperationWithProgress
Seek ( UInt64 position ) : void
WriteAsync ( Windows.Storage.Streams.IBuffer buffer ) : UInt32>.IAsyncOperationWithProgress

Приватные методы

Метод Описание
CanApplyReadMemoryStreamOptimization ( Stream stream ) : bool
Create ( Stream stream ) : NetFxToWinRtStreamAdapter
DetermineStreamReadOptimization ( Stream stream ) : StreamReadOperationOptimization
EnsureNotDisposed ( ) : Stream
IDisposable ( ) : void

Implements IDisposable.Dispose (IClosable.Close in WinRT)

NetFxToWinRtStreamAdapter ( Stream stream, StreamReadOperationOptimization readOptimization ) : System.Diagnostics
SetWonInitializationRace ( ) : void

We keep tables for mappings between managed and WinRT streams to make sure to always return the same adapter for a given underlying stream. However, in order to avoid global locks on those tables, several instances of this type may be created and then can race to be entered into the appropriate map table. All except for the winning instances will be thrown away. However, we must ensure that when the losers are finalized, they do not dispose the underlying stream. To ensure that, we must call this method on the winner to notify it that it is safe to dispose the underlying stream.

ThrowCloningNotSupported ( String methodName ) : void

Описание методов

CloneStream() публичный Метод

public CloneStream ( ) : IRandomAccessStream
Результат IRandomAccessStream

FlushAsync() публичный Метод

public FlushAsync ( ) : IAsyncOperation
Результат IAsyncOperation

GetInputStreamAt() публичный Метод

public GetInputStreamAt ( UInt64 position ) : IInputStream
position UInt64
Результат IInputStream

GetManagedStream() публичный Метод

public GetManagedStream ( ) : Stream
Результат Stream

GetOutputStreamAt() публичный Метод

public GetOutputStreamAt ( UInt64 position ) : IOutputStream
position UInt64
Результат IOutputStream

ReadAsync() публичный Метод

public ReadAsync ( Windows.Storage.Streams.IBuffer buffer, UInt32 count, InputStreamOptions options ) : UInt32>.IAsyncOperationWithProgress
buffer Windows.Storage.Streams.IBuffer
count UInt32
options InputStreamOptions
Результат UInt32>.IAsyncOperationWithProgress

Seek() публичный Метод

public Seek ( UInt64 position ) : void
position UInt64
Результат void

WriteAsync() публичный Метод

public WriteAsync ( Windows.Storage.Streams.IBuffer buffer ) : UInt32>.IAsyncOperationWithProgress
buffer Windows.Storage.Streams.IBuffer
Результат UInt32>.IAsyncOperationWithProgress