CRIWARE Unity Plugin Manual  Last Updated: 2024-02-07
CriFsLoader クラス

ファイルをメモリにロードするためのモジュールです。 [詳解]

CriDisposableを継承しています。

公開型

enum  Status { Stop, Loading, Complete, Error }
 ローダの状態を示す値です。 [詳解]
 

公開メンバ関数

override void Dispose ()
 ローダを破棄します。 [詳解]
 
void Load (CriFsBinder binder, string path, long fileOffset, long loadSize, byte[] buffer)
 データのロードを開始します。 [詳解]
 
void LoadById (CriFsBinder binder, int id, long fileOffset, long loadSize, byte[] buffer)
 データのロードを開始します。 [詳解]
 
void LoadWithoutDecompression (CriFsBinder binder, string path, long fileOffset, long loadSize, byte[] buffer)
 圧縮データを展開せずにメモリ上にロードします。 [詳解]
 
void LoadWithoutDecompressionById (CriFsBinder binder, int id, long fileOffset, long loadSize, byte[] buffer)
 圧縮データを展開せずにメモリ上にロードします。 [詳解]
 
void DecompressData (long srcSize, byte[] srcBuffer, long dstSize, byte[] dstBuffer)
 メモリ上に配置された圧縮データの展開を開始します。 [詳解]
 
void Stop ()
 ロード処理を停止します。 [詳解]
 
Status GetStatus ()
 ローダのステータスを取得します。 [詳解]
 
void SetReadUnitSize (int unit_size)
 単位読み込みサイズの設定 [詳解]
 

詳解

ファイルをメモリにロードするためのモジュールです。

説明:
ファイルをメモリにロードするためのモジュールです。
CriWare.CriFsBinder を併用することで、CPKファイル内のコンテンツを読み込むことも可能です。
参照
CriFsBinder

列挙型メンバ詳解

enum Status
strong

ローダの状態を示す値です。

参照
CriFsLoader::GetStatus
列挙値
Stop 

停止中

Loading 

ロード中

Complete 

ロード完了

Error 

エラーが発生

関数詳解

override void Dispose ( )
inline

ローダを破棄します。

注意:
ロード処理中にローダを破棄した場合、 本関数内で処理が長時間ブロックされる可能性があります。
void Load ( CriFsBinder  binder,
string  path,
long  fileOffset,
long  loadSize,
byte[]  buffer 
)
inline

データのロードを開始します。

引数
binderバインダ
pathファイルパス名
fileOffsetファイルの先頭からのオフセット位置(単位はバイト)
loadSizeロード要求サイズ(単位はバイト)
bufferロード先バッファ
説明:
指定されたバインダとファイル名で、データの読み込みを開始します。
ファイル内のfileOffsetバイト目から、loadSizeバイト分読み込みます。
本関数は即時復帰関数です。
ロードの完了状態を取得するには CriWare.CriFsLoader::GetStatus 関数を使用してください。
参照
CriFsLoader::GetStatus
void LoadById ( CriFsBinder  binder,
int  id,
long  fileOffset,
long  loadSize,
byte[]  buffer 
)
inline

データのロードを開始します。

引数
binderバインダ
idファイルID
fileOffsetファイルの先頭からのオフセット位置(単位はバイト)
loadSizeロード要求サイズ(単位はバイト)
bufferロード先バッファ
説明:
指定されたバインダとファイルIDで、データの読み込みを開始します。
ファイル内のfileOffsetバイト目から、loadSizeバイト分読み込みます。
本関数は即時復帰関数です。
ロードの完了状態を取得するには CriWare.CriFsLoader::GetStatus 関数を使用してください。
参照
CriFsLoader::GetStatus
void LoadWithoutDecompression ( CriFsBinder  binder,
string  path,
long  fileOffset,
long  loadSize,
byte[]  buffer 
)
inline

圧縮データを展開せずにメモリ上にロードします。

引数
binderバインダ
pathファイルパス名
fileOffsetファイルの先頭からのオフセット位置(単位はバイト)
loadSizeロード要求サイズ(単位はバイト)
bufferロード先バッファ
説明:
指定されたバインダとファイル名で、データの読み込みを開始します。
ファイル内のfileOffsetバイト目から、loadSizeバイト分読み込みます。
CriWare.CriFsLoader::Load 関数と異なり、データが圧縮されている場合でも、 データを展開せずにメモリ上にロードします。
本関数は即時復帰関数です。
ロードの完了状態を取得するには CriWare.CriFsLoader::GetStatus 関数を使用してください。
参照
CriFsLoader::GetStatus, CriFsLoader::LoadWithoutDecompressionById, CriFsLoader::DecompressData
void LoadWithoutDecompressionById ( CriFsBinder  binder,
int  id,
long  fileOffset,
long  loadSize,
byte[]  buffer 
)
inline

圧縮データを展開せずにメモリ上にロードします。

引数
binderバインダ
idファイルID
fileOffsetファイルの先頭からのオフセット位置(単位はバイト)
loadSizeロード要求サイズ(単位はバイト)
bufferロード先バッファ
説明:
指定されたバインダとファイルIDで、データの読み込みを開始します。
ファイル内のfileOffsetバイト目から、loadSizeバイト分読み込みます。
CriWare.CriFsLoader::Load 関数と異なり、データが圧縮されている場合でも、 データを展開せずにメモリ上にロードします。
本関数は即時復帰関数です。
ロードの完了状態を取得するには CriWare.CriFsLoader::GetStatus 関数を使用してください。
参照
CriFsLoader::GetStatus, CriFsLoader::LoadWithoutDecompression, CriFsLoader::DecompressData
void DecompressData ( long  srcSize,
byte[]  srcBuffer,
long  dstSize,
byte[]  dstBuffer 
)
inline

メモリ上に配置された圧縮データの展開を開始します。

引数
srcSize圧縮データサイズ(単位はバイト)
srcBuffer圧縮データが配置されたバッファ
dstSize展開先バッファのサイズ(単位はバイト)
dstBuffer展開先バッファ
説明:
メモリ上に配置された圧縮データを、別のメモリ領域に展開します。
本関数は即時復帰関数です。
ロードの完了状態を取得するには criFsLoader_GetStatus関数を使用してください。
備考:
入力データが圧縮されていない場合、 本関数は入力データを出力アドレスへそのままコピーします。
注意:
本関数は、CRI独自のソフトウェア圧縮コーデックにしか対応していません。
ハードウェアデコーダを使用する場合や、プラットフォーム固有のコーデックを使用している場合、 本関数ではデータを展開できません。
参照
CriFsLoader::GetStatus, CriFsLoader::LoadWithoutDecompression, CriFsLoader::LoadWithoutDecompressionById
void Stop ( )
inline

ロード処理を停止します。

説明:
ロード処理を停止します。

本関数は即時復帰関数です。
停止状態を取得するには CriWare.CriFsLoader::GetStatus 関数を使用してください。
注意:
本関数を実行しても、ローダのステータスが CriWare.CriFsLoader::Status が Stop に変わるまでは、 バッファへのデータ転送が続いている可能性があります。
参照
CriFsLoader::GetStatus
Status GetStatus ( )
inline

ローダのステータスを取得します。

戻り値
ステータス
説明:
ローダのステータスを取得します。
参照
CriFsLoader::Status
void SetReadUnitSize ( int  unit_size)
inline

単位読み込みサイズの設定

引数
unit_size単位読み込みサイズ
説明:
単位読み込みサイズを設定します。 CriFsLoaderは、大きなサイズのリード要求を処理する際、それを複数の小さな単位のリード処理に分割して連続実行します。
この関数を使用することで単位リード処理サイズを変更することが可能です。
リード要求のキャンセルや、高プライオリティのリード処理の割り込み等は、単位リードサイズ境界でのみ処理されます。
そのため、ユニットサイズを小さく設定すると、I/O処理のレスポンスが向上します。
逆に、ユニットサイズを大きく設定すると、ファイル単位の読み込み速度が向上します。
参照
CriFsLoader::Status

このクラス詳解は次のファイルから抽出されました: