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(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState);
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

매개 변수

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. 비동기 쓰기 작업 중에 오류가 발생하면 이 메서드에서 반환된 것으로 호출될 때까지 EndWrite 예외가 IAsyncResult throw되지 않습니다.

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

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

현재 CanWrite 개체에서 DeflateStream 쓰기를 지원하는지 여부를 확인하려면 이 속성을 사용합니다.

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

적용 대상