SophiaFramework UNIVERSE 5.3 |
BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
---|---|---|---|
× | × | × | ○ |
パブリック関数 | |
---|---|
SFCError |
Creat(
ACharConstPtr path
) この関数は、flags に FS_O_WRONLY|FS_O_CREAT|FS_O_TRUNC を指定した SFBFilePort::OpenEx() と同じです。
|
SFCError |
Creat(
SFXAnsiStringConstRef path
) この関数は、flags に FS_O_WRONLY|FS_O_CREAT|FS_O_TRUNC を指定した SFBFilePort::OpenEx() と同じです。
|
SFCError |
GetLastError( Void ) 最後の SFBFilePort::Read()、SFBFilePort::Write()、または SFBFilePort::Seek() 操作で IPORT_ERROR が返された場合に、発生した BREW 定義のエラーコードを返します。
|
SFCError |
Lock(
UInt32 lock
) 関連付けられた SFBFilePort インスタンスで開いたファイル上のロックを適用または削除します。
|
static SFBFilePortSmp |
NewInstance(
SFCErrorPtr exception = null
) SFBFilePort インスタンスを生成します。
|
static SFBFilePortSmp |
NewInstance(
AEECLSID id
, SFCErrorPtr exception = null
) SFBFilePort インスタンスを生成します。
|
SFCError |
OpenEx(
ACharConstPtr path
, SInt32 flags
) 既存のファイルを、またオプションとして新規作成したファイルを開きます。
|
SFCError |
OpenEx(
SFXAnsiStringConstRef path
, SInt32 flags
) 既存のファイルを、またオプションとして新規作成したファイルを開きます。
|
SFCError |
Read(
VoidPtr buffer
, SInt32 size
) 読み取り用に現在開いているファイルからバイトを読み取ります。
|
SFCError |
Read(
SFXBufferPtr buffer
) 読み取り用に現在開いているファイルからバイトを読み取ります。
|
SFCError |
Rewind( Void ) この関数は、offset にゼロを、whence に FS_SEEK_SET を指定した SFBFilePort::Seek() と同じです。
|
SFCError |
Seek(
SInt32 offset
, SInt32 whence
) 開いているファイル内でファイルポイントを移動します。
|
SFCError |
Stat(
FSStat * buffer
, SInt32 size
) 開いているファイルについての情報を取得します。
|
SFCError |
StatVFS(
FSStatVFS * buffer
, SInt32 size
) 開いているファイルが含まれる仮想ファイルシステムについての情報を取得します。
|
SFCError |
Truncate(
SInt32 length
) ファイルを指定の長さに切り捨てます。
|
SFCError |
Close( Void )
(SFBPort から継承)
開いているポートを閉じる、または進行中の開く操作を停止します。
|
static Bool |
Exhausted(
SInt32 code
)
(SFBSource から継承)
SFBSource、SFBPeek、または SFBGetLine がデータを処理し終えたかどうかを判定します。
|
SFCError |
IOCtl(
SInt32 option
, UInt32 val
)
(SFBPort から継承)
SFBPort の動作 ( 構成の設定/取得など ) に対する制御を可能にします。
|
SFCError |
Open(
ACharConstPtr port
)
(SFBPort から継承)
指定されたポートを開きます。
|
SFCError |
Open(
SFXAnsiStringConstRef port
)
(SFBPort から継承)
指定されたポートを開きます。
|
SFCError |
QueryInterface(
AEECLSID clsid
, VoidHandle handle
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
SFCError |
QueryInterface(
AEECLSID clsid
, SFBBaseSmpPtr handle
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
SFBBaseSmp |
QueryInterface(
AEECLSID clsid
)
(SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
|
Void |
Readable(
SFXCallbackPtr callback
)
(SFBSource から継承)
SFBSource::Read 関数が ISOURCE_WAIT 以外のものを返した場合に呼び出されるコールバック関数を
登録または登録解除します。
|
Void |
Self(
AEECLSID clsidReq
, SFBQuerySmpPtr clone
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
|
SFBQuerySmp |
Self(
AEECLSID clsidReq
, AEECLSID clsidImp
)
(SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
|
SInt32 |
Write(
ACharConstPtr port
, SInt32 bufSize
)
(SFBPort から継承)
指定されたバッファからのバイトをソースストリームにコピーします。
|
SInt32 |
Write(
SFXAnsiStringConstRef buf
)
(SFBPort から継承)
指定されたバッファからのバイトをソースストリームにコピーします。
|
SInt32 |
Write(
SFXBufferConstRef buf
)
(SFBPort から継承)
指定されたバッファからのバイトをソースストリームにコピーします。
|
Void |
Writeable(
SFXCallbackPtr callback
)
(SFBPort から継承)
SFBPort::Write が AEEPORT_WAIT 以外のものを返した場合にコールされるコールバックをスケジュールします。
|
プロテクト関数 | |
---|---|
static SFBBaseSmp |
FactoryByCreate(
AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
|
static SFBBaseSmp |
FactoryByQuery(
SFBQuerySmpConstRef query
, AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。
|
[ public ] SFCError Creat( ACharConstPtr path // 対象のファイルへのパス );
[ public ] SFCError Creat( SFXAnsiStringConstRef path // 対象のファイルへのパス );
[ public ] SFCError GetLastError(Void);
特定の BREW 定義のエラーコード。
ロック/ロック解除操作が正常終了した場合は AEE_SUCCESS を返す。 それ以外の場合は、BREW 定義のエラーコードを返す。
ファイルをロック/ロック解除するには、ファイルを SFBFilePort で事前に開いておく必要があります。デフォルトでは、すべてのロックは勧告的で排他的です。
勧告ロックは、ロックされたファイル上での操作がファイルシステムで制限されないことを意味します。つまり、ロックされたファイルに、勧告ロックを使用せずにアクセスすることができます。勧告ロックは、協同プロセスがファイル上で一貫した操作を実行できるようにします。
排他ロックは、ファイルがロックされた後は、ファイルがロック解除されるまでは、同じファイルをロックするという他のプロセスからの要求がすべて失敗することを意味します。
[ public, static ] SFBFilePortSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
[ public, static ] SFBFilePortSmp NewInstance( AEECLSID id // クラスID SFCErrorPtr exception = null // エラー値 );
[ public ] SFCError OpenEx( ACharConstPtr path // 対象のファイルへのパス SInt32 flags // 1 つ以上の FS_O_* フラグのビット幅 OR。 );
[ public ] SFCError OpenEx( SFXAnsiStringConstRef path // 対象のファイルへのパス SInt32 flags // 1 つ以上の FS_O_* フラグのビット幅 OR。 );
対象のファイルへのパス。
flags パラメータは以下のいずれかで正確に指定します。
以下の 0 個以上を使用したビット幅 OR:
以下のように、複数のフラグを使用することがよくあります。
以下のように、有効でないフラグの組み合わせもあります。
操作が正常終了した場合は AEE_SUCCESS を返す。それ以外の場合は有効な BREW 定義のエラーコードを返す。
パスの読み書きに必要な特権については、 SFBFileSystem::Access() を参照してください。
[ public ] SFCError Read( VoidPtr buffer // 読み取ったバイトの格納場所 SInt32 size // 読み取りを試みるバイト数 );
[ public ] SFCError Read( SFXBufferPtr buffer // 読み取ったバイトの格納場所 );
正常終了した場合は読み取ったバイト数を返す。これは要求したバイト数よりも少ない場合がある。
ゼロの戻り値はファイルの末尾 (EOF) を表す。 それ以外の場合は IPORT_ERROR を返す。
発生した BREW 定義のエラーコードは、 SFBFilePort::GetLastError() を介して取得できる。
バイトは現在のファイルポイントから読み取られます。操作後のファイルポイントは、読み取ったバイト数だけ前進します。
[ public ] SFCError Rewind(Void);
[ public ] SFCError Seek( SInt32 offset // whence からのオフセット、負の値も可能 SInt32 whence // offset の始点 (FS_SEEK_*) );
正常終了した場合は新しいファイルポイントを返す。 それ以外の場合は IPORT_ERROR を返す。発生した BREW 定義のエラーコードは、 IFilePort_GetLastError() を介して取得できる。
新しいファイルポイントは始点からのオフセットとして指定します。
負のオフセットも可能です。始点は以下のいずれかです。
オフセットと始点を組み合わせた結果、ファイルの先頭より前になってはいけません。
新しいポイントはファイルの末尾より後になってもかまいません。ただし、ファイルの末尾を越えてシークしてもファイルは大きくなりません。ファイルを大きくするには、新規バイトを書き込む必要があります。結果的にファイルに穴ができた場合、それらは一連のゼロ値のバイトとして読み取られます。
[ public ] SFCError Stat( FSStat * buffer // データを読み込む構造体 FSStat へのポインタ。 SInt32 size // buffer のサイズ );
一般的なエラーコード: AEE_EBADSTATE: SFBFilePort が開いていない。
[ public ] SFCError StatVFS( FSStatVFS * buffer // データを読み込む構造体 FSStatVFS へのポインタ SInt32 size // buffer のサイズ );
操作が正常終了した場合は AEE_SUCCESS を返す。それ以外の場合は有効な BREW 定義のエラーコードを返す。
一般的なエラーコード: AEE_EBADSTATE: SFBFilePort が開いていない。
操作が正常終了した場合は AEE_SUCCESS を返す。それ以外の場合は有効な BREW 定義のエラーコードを返す。
前のファイルのサイズが指定よりも長かった場合、余分なデータはファイル上で読み取り不能になります。
前のファイルのサイズが指定よりも小さかった場合、延長部分はゼロで埋められたようになります。シークポインタの値は変更されません。
一般的なエラーコード:
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |