etc.negui.com.ipersistfile


abstract interface IPersistFile: etc.negui.com.ipersist.IPersist;

enum STGM;

DIRECT
ダイレクトモード
ストレージに対する変更はすぐに行われる。
TRANSACTED
トランザクトモード。
変更は明示的にコミットしなければ行われず、変更無視はIStream、IStorageインターフェイスのRevertメソッドで行われる。
SIMPLE
CREATE | READWRITE | SHARE_EXCLUSIVE
READ
読込み専用。
WRITE
書き込み専用。
READWRITE
READ | WRITE
SHARE_DENY_NONE
読込み書き込み共、共有可能。
SHARE_DENY_READ
READモードでの共有不可。
SHARE_DENY_WRITE
WRITEモードでの共有不可。
SHARE_EXCLUSIVE
SHARE_DENY_READ | SHARE_DENY_WRITE
PRIORITY
ストレージを最も新しくコミットされたバージョンへの排他的アクセスで開く。

したがって、他のユーザーはその間ストレージに対してコミットすることが出来ない。STGM_DIRECT or STGM_READを設定しておかなくてはならない。
DELETEONRELEASE
ルートストレージが破棄された時に自動的に破棄。
CREATE
既存のストレージやストリームを破棄し、新しいものに置換える。
同名のストリームがある場合などに使用
CONVERT
CONTENTSと命名されたストリームに既存のデータを保存し新しいオブジェクトを生成する。
FAILIFTHERE
同名のオブジェクトが存在した場合、オブジェクトの生成に失敗する。
NOSCRATCH
(Win95のみ)トランザクトモードにおいて、スクラッチファイルがコミット前に保存されるようになる。
元のファイルの不使用領域がスクラッチスペースとして使用される。
NOSNAPSHOT
このフラグは TRANSACTED フラグが指定されており、かつ SHARE_EXCLUSIVE も SHARE_DENY_WRITE も指定されずにストレージを開くときに使用できます。この場合、NOSNAPSHOT の指定によって、システムが提供するファイルのスナップショットコピー作成機能を抑制できます。 そのかわりに、ファイルへの変更はそのファイルの末尾に書き込まれます。 未使用の領域は、コミット操作によって整理されるまで、または、ファイルの書き込み利用者が一人になるまで再利用されません。スナップショットなしでファイルを開いた場合、NOSNAPSHOT を指定せずに他の場所でファイルを開くことはできなくなります。このフラグは、ルートストレージを開く時のみ使用できます。
abstract interface IComPersistFile;
IPersistFile用interface。
IPersistFileを使用するComでオーバーライドさせると便利かも。
abstract bool fileLoad(in Text FilePath , STGM Stgm );
Load。
abstract bool fileSave(in Text FilePath , bool Remember );
Save。
Params:
Text FilePath
フルパス指定のファイル名を表す文字列のアドレスを指定します。
bool Remember
FilePathで指定したファイルをカレントファイルとして使用するかどうかを指定します。 trueを指定した場合は、FilePathがカレントファイルとなり、保存後にダーティーフラグ(更新されたかを示すフラグ)をクリアします。 falseを指定した場合は、カレントファイルは変化せず、ダーティーフラグはクリアされません。
Returns:
保存した出来たはtrue、失敗した場合はfalse。
Note:
オブジェクトが正常に保存された場合は 0x00000000 (S_OK) が返ります。 オブジェクトが保存できなかった場合は 0x80004005 (E_FAIL) 返ります。
abstract bool isDirty();