다음을 통해 공유


DeflateStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) 메서드

정의

비동기 쓰기 작업을 시작합니다. (대신 WriteAsync(Byte[], Int32, Int32) 메서드를 사용하는 것이 좋습니다.)

public:
 override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ array, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public:
 override IAsyncResult ^ BeginWrite(cli::array <System::Byte> ^ buffer, int offset, int count, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback? asyncCallback, object? asyncState);
public override IAsyncResult BeginWrite (byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
override this.BeginWrite : byte[] * int * int * AsyncCallback * obj -> IAsyncResult
Public Overrides Function BeginWrite (array As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult
Public Overrides Function BeginWrite (buffer As Byte(), offset As Integer, count As Integer, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

매개 변수

arraybuffer
Byte[]

데이터를 쓸 버퍼입니다.

offset
Int32

쓰기를 시작할 바이트 오프셋입니다.

count
Int32

쓸 최대 바이트 수입니다.

asyncCallback
AsyncCallback

쓰기 작업이 완료되면 호출되는 선택적 비동기 콜백입니다.

asyncState
Object

다른 요청에서 특정 비동기 쓰기 요청을 구별하는 사용자 제공 개체입니다.

반환

보류 중인 비동기 쓰기 작업을 나타내는 개체입니다.

예외

메서드가 스트림의 끝을 넘어 비동기 쓰기를 시도했거나 디스크 오류가 발생했습니다.

하나 이상의 인수가 잘못된 경우

스트림이 닫힌 후에 메서드가 호출되었습니다.

현재 DeflateStream 구현이 쓰기 작업을 지원하지 않는 경우

스트림이 닫혀 있어서 쓰기 작업을 수행할 수 없는 경우

설명

.NET Framework 4.5부터 메서드를 사용하여 WriteAsync 비동기 쓰기 작업을 수행할 수 있습니다. 메서드는 BeginWrite 레거시 코드를 지원하기 위해 현재 버전에서 계속 사용할 수 있지만 새 비동기 메서드를 사용하여 비동기 I/O 작업을 보다 쉽게 구현할 수 있습니다. 자세한 내용은 비동기 파일 I/O를 참조하세요.

쓰기가 IAsyncResult 완료되고 리소스를 적절하게 해제하도록 현재 메서드 EndWrite 에서 반환된 개체를 에 전달합니다. 를 호출 BeginWrite 한 동일한 코드를 사용하거나 에 전달된 BeginWrite콜백에서 이 작업을 수행할 수 있습니다. 비동기 쓰기 작업 중에 오류가 발생하면 이 메서드에서 반환된 를 사용하여 가 호출 IAsyncResult 될 때까지 EndWrite 예외가 throw되지 않습니다.

스트림을 쓸 수 있는 경우 스트림의 끝에 쓰기하면 스트림이 확장됩니다.

I/O 작업이 완료되는 시점이 아니라 비동기 읽기 또는 쓰기 작업을 실행할 때 스트림의 현재 위치가 업데이트됩니다. 여러 개의 동시 비동기 요청은 요청 완료 순서를 불확실하게 만듭니다.

사용 된 CanWrite 현재 개체 쓰기를 DeflateStream 지원 하는지 여부를 확인 하려면 속성입니다.

스트림이 닫혀 있거나 잘못된 인수를 전달하면 예외가 에서 BeginWrite즉시 throw됩니다. I/O 요청 중 디스크 오류와 같은 비동기 쓰기 요청 중에 발생하는 오류는 스레드 풀 스레드에서 발생하고 를 호출 EndWrite할 때 예외를 throw합니다.

적용 대상