CryptoStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) CryptoStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) CryptoStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) CryptoStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) Method

定義

非同期の書き込み操作を開始します。Begins an asynchronous write operation. (代わりに、WriteAsync の使用を検討してください。)(Consider using WriteAsync instead.)

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

パラメーター

buffer
Byte[]

データの書き込み元となるバッファー。The buffer to write data from.

offset
Int32 Int32 Int32 Int32

書き込むデータの開始位置を示す buffer 内のバイト オフセット。The byte offset in buffer from which to begin writing.

count
Int32 Int32 Int32 Int32

書き込む最大バイト数。The maximum number of bytes to write.

callback
AsyncCallback AsyncCallback AsyncCallback AsyncCallback

書き込みの完了時に呼び出されるオプションの非同期コールバック。An optional asynchronous callback, to be called when the write is complete.

state
Object Object Object Object

この特定の非同期書き込み要求を他の要求と区別するために使用するユーザー指定のオブジェクト。A user-provided object that distinguishes this particular asynchronous write request from other requests.

戻り値

非同期の書き込みを表す IAsyncResult。まだ保留状態の場合もあります。An IAsyncResult that represents the asynchronous write, which could still be pending.

例外

ファイルの末尾を越えて非同期の書き込みを実行しようとしました。または、ディスク エラーが発生しました。Attempted an asynchronous write past the end of the stream, or a disk error occurred.

1 つ以上の引数が無効です。One or more of the arguments is invalid.

ストリームが閉じた後でメソッドが呼び出されました。Methods were called after the stream was closed.

現在の Stream 実装は、書き込み操作をサポートしていません。The current Stream implementation does not support the write operation.

注釈

.NET Framework 4 およびそれ以前のバージョンで非同期 I/O 操作を実装するには、 BeginWriteEndWrite などのメソッドを使用する必要があります。In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous I/O operations. これらのメソッドは、レガシコードをサポートするために .NET で引き続き使用できます。ただし、 ReadAsync、、 CopyToAsyncWriteAsyncなどの新しい非同期メソッドを使用すると、非同期i/o操作をより簡単に実装できます。FlushAsyncThese methods are still available in .NET to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous I/O operations more easily.

書き込みが完了し、リソースが適切EndWriteに解放されるように、現在のメソッドによって返されたをに渡します。IAsyncResultPass the IAsyncResult returned by the current method to EndWrite to ensure that the write completes and frees resources appropriately. EndWriteを呼び出すたびに、をBeginWrite呼び出す必要があります。EndWrite must be called once for every call to BeginWrite. これを行うには、を呼び出しBeginWriteたのと同じコードを使用するか、にBeginWrite渡されたコールバックでを使用します。You can do this either by using the same code that called BeginWrite or in a callback passed to BeginWrite. 非同期書き込み中にエラーが発生した場合、このメソッドによってEndWrite IAsyncResult返されるを使用してが呼び出されるまで、例外はスローされません。If an error occurs during an asynchronous write, an exception will not be thrown until EndWrite is called with the IAsyncResult returned by this method.

ストリームが書き込み可能な場合は、ストリームの末尾に書き込みを行うとストリームが拡張されます。If a stream is writable, writing at the end of the stream expands the stream.

ストリーム内の現在位置は、i/o 操作が完了したときではなく、非同期の読み取りまたは書き込みを発行したときに更新されます。The current position in the stream is updated when you issue the asynchronous read or write, not when the I/O operation completes. 複数の同時非同期要求は、要求の完了順序が不明確であることを表示します。Multiple simultaneous asynchronous requests render the request completion order uncertain.

現在のCanWriteインスタンスが書き込みをサポートしているかどうかを判断するには、プロパティを使用します。Use the CanWrite property to determine whether the current instance supports writing.

ストリームが閉じているか、無効な引数を渡した場合、からBeginWriteすぐに例外がスローされます。If a stream is closed or you pass an invalid argument, exceptions are thrown immediately from BeginWrite. I/o 要求中のディスク障害など、非同期の書き込み要求中に発生したエラーは、スレッドプールのスレッドで発生し、を呼び出すEndWriteときに例外をスローします。Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and throw exceptions when calling EndWrite.

適用対象