Streamクラス

提供: AB開発Wiki
移動先:案内検索

Stream クラスは様々なストリーミングオブジェクトの基底となるクラスです。

クラスの機能

パブリックプロパティ

CanRead

Virtual Function CanRead() As Boolean

ストリームが読み込みをサポートしているかどうかを取得します。 結果はブール値でTrueFalseとなります。

CanSeek

Virtual Function CanSeek() As Boolean

ストリームがシークをサポートしているかどうかを取得します。 結果はブール値でTrueFalseとなります。

CanTimeout

Virtual Function CanTimeout() As Boolean

ストリームがタイムアウトをサポートしているかどうかを取得します。 結果はブール値でTrueFalseとなります。

CanWrite

Virtual Function CanWrite() As Boolean

ストリームが書き込みをサポートしているかどうかを取得します。 結果はブール値でTrueFalseとなります。

Length

Virtual Function Length() As Int64

ストリームの長さを取得します。

Position

Virtual Sub Position(value As Int64)
Virtual Function Position() As Int64

ストリームの現在の位置を取得または設定します。

ReadTimeout

Virtual Sub ReadTimeout(value As Long)
Virtual Function ReadTimeout() As Long

ストリームの読み込みタイムアウト時間を取得または設定します。

WriteTimeout

Virtual Sub WriteTimeout(value As Long)
Virtual Function WriteTimeout() As Long

ストリームの書き込みタイムアウト時間を取得または設定します。

パブリックメソッド

BeginRead

Virtual Function BeginRead( _
ByRef buffer[] As Byte, offset As Long, count As Long, callback As AsyncCallback, state As Object) As IAsyncResult

BeginWrite

Virtual Function BeginWrite(_
ByRef buffer[] As Byte, offset As Long, count As Long, callback As AsyncCallback, state As Object) As IAsyncResult

Close

Virtual Sub Close()

ストリームに使用された全てのハンドル及びオブジェクトを閉じます。

注意 
すべてのストリームは必ずCloseメソッドを呼び出してから終了する必要があります。

EndRead

Virtual Function EndRead(ByRef asyncResult As IAsyncResult) As Long

EndWrite

Virtual Sub EndWrite(ByRef asyncResult As IAsyncResult)

Flush

Virtual Sub Flush()

ストリームが内部バッファを持っている場合に、バッファの内容をストリームに反映させます。

Read

Virtual Function Read(ByRef buffer[] As Byte, offset As Long, count As Long) As Long

ストリームからByte型バッファにデータを読み込みます。

ストリームの位置を示すインデックス値は0が開始値となります。

戻り値は実際にストリームから読み込んだデータの長さであり、現在の位置がストリームの終端に達している場合は0が帰る場合があります。

ReadByte

Virtual Function ReadByte() As Long

ストリームからデータを1Byteを読み込みます。

注意 
基本的にReadメソッドに1Byteのバッファを指定したものをラップして実装しますが、速度を重視したい場合は専用のメソッドをオーバーライドしても構いません。

Seek

Virtual Function Seek(offset As Int64, origin As SeekOrigin) As Long

ストリームの現在の位置を設定します。

offsetが正の場合はoriginで指定された位置からoffsetだけ進んだ新しい位置が設定されます。

offsetが0の場合はoriginで指定された位置が新しい位置が設定されます。

offsetが負の場合はoriginで指定された位置からoffsetだけ遡って新しい位置が設定されます。

戻り値は新しく設定された現在の位置です。

SetLength

Virtual Sub SetLength(value As Int64)

ストリームの長さを設定できる場合に、オーバーライドし長さを設定します。

Write

Virtual Sub Write (ByRef buffer[] As Byte, offset As Long, count As Long)

ストリームからByte型バッファにデータを書き込みます。 ストリームの位置を示すインデックス値は0が開始値となります。

WriteByte

Virtual Sub WriteByte(value As Byte)

ストリームからデータを1Byteを書き込みます。

注意 
基本的にWriteメソッドに1Byteのバッファを指定したものをラップして実装しますが、速度を重視したい場合は専用のメソッドをオーバーライドしても構いません。

プロテクトメソッド

CreateWaitHandle

Virtual Function CreateWaitHandle() As WaitHandle

WaitHandleオブジェクトを割り当てます。