Streamクラス
Stream クラスは様々なストリーミングオブジェクトの基底となるクラスです。
クラスの機能
パブリックプロパティ
CanRead
Virtual Function CanRead() As Boolean
ストリームが読み込みをサポートしているかどうかを取得します。 結果はブール値でTrueかFalseとなります。
CanSeek
Virtual Function CanSeek() As Boolean
ストリームがシークをサポートしているかどうかを取得します。 結果はブール値でTrueかFalseとなります。
CanTimeout
Virtual Function CanTimeout() As Boolean
ストリームがタイムアウトをサポートしているかどうかを取得します。 結果はブール値でTrueかFalseとなります。
CanWrite
Virtual Function CanWrite() As Boolean
ストリームが書き込みをサポートしているかどうかを取得します。 結果はブール値でTrueかFalseとなります。
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オブジェクトを割り当てます。