コンフィギュレーション
[詳解]
#include <cri_le_file_system.h>
コンフィギュレーション
- 説明:
- CRI File Systemライブラリの動作仕様を指定するための構造体です。
ライブラリ初期化時( ::criFs_InitializeLibrary 関数)に引数として本構造体を指定します。
- CRI File Systemライブラリは、初期化時に指定されたコンフィギュレーションに応じて、内部リソースを必要な数分だけ確保します。
そのため、コンフィギュレーションに指定する値を小さくすることで、ライブラリが必要とするメモリのサイズを小さく抑えることが可能です。
ただし、コンフィギュレーションに指定した数以上のハンドルを確保することはできなくなるため、値を小さくしすぎると、ハンドルの確保に失敗する可能性があります。
- 備考:
- デフォルト設定を使用する場合、 ::criFs_SetDefaultConfig 関数でデフォルトパラメータをセットし、 ::criFs_InitializeLibrary 関数に指定してください。
- 注意
- 将来的にメンバーが増える可能性に備え、設定前に::criFs_SetDefaultConfig 関数で初期化してから使用してください。
- 参照
- criFs_InitializeLibrary, criFs_SetDefaultConfig
◆ thread_model
CriFsThreadModel thread_model |
スレッドモデル
- 説明:
- CRI File Systemのスレッドモデルを指定します。
- 参照
- CriFsThreadModel
◆ num_binders
使用するCriFsBinderの数
- 説明:
- アプリケーション中で使用するバインダー(CriFsBinder)の数を指定します。
アプリケーション中で ::criFsBinder_Create 関数を使用してバインダーを作成する場合、 本パラメータに使用するバインダーの数を指定する必要があります。
num_bindersには「同時に使用するバインダーの最大数」を指定します。
例えば、 ::criFsBinder_Create 関数と ::criFsBinder_Destroy 関数を交互に続けて実行するケースにおいては、 最大同時には1つのバインダーしか使用しないため、関数の呼び出し回数に関係なくnum_bindersに1を指定することが可能です。
逆に、ある場面でバインダーを10個使用する場合には、その他の場面でバインダーを全く使用しない場合であっても、 num_bindersに10を指定する必要があります。
- 備考:
- CRI File Systemライブラリは、使用するバインダーの数分だけのメモリを初期化時に要求します。
そのため、num_bindersに必要最小限の値をセットすることで、ライブラリが必要とするメモリのサイズを抑えることが可能です。
- 参照
- criFsBinder_Create, criFsBinder_Destroy
◆ num_loaders
使用するCriFsLoaderの数
- 説明:
- アプリケーション中で使用するローダー(CriFsLoader)の数を指定します。
アプリケーション中で ::criFsLoader_Create 関数を使用してローダーを作成する場合、 本パラメータに使用するローダーの数を指定する必要があります。
num_loadersには「同時に使用するローダーの最大数」を指定します。
例えば、 ::criFsLoader_Create 関数と ::criFsLoader_Destroy 関数を交互に続けて実行するケースにおいては、 最大同時には1つのローダーしか使用しないため、関数の呼び出し回数に関係なくnum_loadersに1を指定することが可能です。
逆に、ある場面でローダーを10個使用する場合には、その他の場面でローダーを全く使用しない場合であっても、 num_loadersに10を指定する必要があります。
- 備考:
- CRI File Systemライブラリは、使用するローダーの数分だけのメモリを初期化時に要求します。
そのため、num_loadersに必要最小限の値をセットすることで、ライブラリが必要とするメモリのサイズを抑えることが可能です。
- 参照
- criFsLoader_Create, criFsLoader_Destroy
◆ num_group_loaders
CriSint32 num_group_loaders |
使用するCriFsGroupLoaderの数
- 説明:
- アプリケーション中で使用するグループローダー(CriFsGroupLoader)の数を指定します。
アプリケーション中で ::criFsGroupLoader_Create 関数を使用してグループローダーを作成する場合、 本パラメータに使用するグループローダーの数を指定する必要があります。
num_group_loadersには「同時に使用するグループローダーの最大数」を指定します。
例えば、 ::criFsGroupLoader_Create 関数と ::criFsGroupLoader_Destroy 関数を交互に続けて実行するケースにおいては、 最大同時には1つのグループローダーしか使用しないため、関数の呼び出し回数に関係なくnum_group_loadersに1を指定することが可能です。
逆に、ある場面でグループローダーを10個使用する場合には、その他の場面でグループローダーを全く使用しない場合であっても、 num_group_loadersに10を指定する必要があります。
- 備考:
- CRI File Systemライブラリは、使用するグループローダーの数分だけのメモリを初期化時に要求します。
そのため、num_group_loadersに必要最小限の値をセットすることで、ライブラリが必要とするメモリのサイズを抑えることが可能です。
- 参照
- criFsGroupLoader_Create, criFsGroupLoader_Destroy
◆ num_stdio_handles
CriSint32 num_stdio_handles |
使用するCriFsStdioの数
- 説明:
- アプリケーション中で使用するCriFsStdioハンドルの数を指定します。
アプリケーション中で ::criFsStdio_OpenFile 関数を使用してCriFsStdioハンドルを作成する場合、 本パラメータに使用するCriFsStdioハンドルの数を指定する必要があります。
num_stdio_handlesには「同時に使用するCriFsStdioハンドルの最大数」を指定します。
例えば、 ::criFsStdio_OpenFile 関数と ::criFsStdio_CloseFile 関数を交互に続けて実行するケースにおいては、 最大同時には1つのCriFsStdioハンドルしか使用しないため、関数の呼び出し回数に関係なくnum_stdio_handlesに1を指定することが可能です。
逆に、ある場面でCriFsStdioハンドルを10個使用する場合には、その他の場面でCriFsStdioハンドルを全く使用しない場合であっても、 num_stdio_handlesに10を指定する必要があります。
- 備考:
- CRI File Systemライブラリは、使用するCriFsStdioハンドルの数分だけのメモリを初期化時に要求します。
そのため、num_stdio_handlesに必要最小限の値をセットすることで、ライブラリが必要とするメモリのサイズを抑えることが可能です。
- 注意
- ブリッジライブラリを使用してADXライブラリや救声主ライブラリを併用する場合、 ADXTハンドルやcriSsPlyハンドルは内部的にCriFsStdioハンドルを作成します。
そのため、ブリッジライブラリを使用する場合には、CRI File Systemライブラリ初期化時に num_stdio_handlesにADXTハンドルやcriSsPlyハンドルの数を加えた値を指定してください。
- 参照
- criFsStdio_OpenFile, criFsStdio_CloseFile
◆ num_installers
使用するCriFsInstallerの数
- 説明:
- アプリケーション中で使用するインストーラー(CriFsInstaller)の数を指定します。
アプリケーション中で criFsInstaller_Create 関数を使用してインストーラーを作成する場合、 本パラメータに使用するインストーラーの数を指定する必要があります。
num_installersには「同時に使用するインストーラーの最大数」を指定します。
例えば、 criFsInstaller_Create 関数と criFsInstaller_Destroy 関数を交互に続けて実行するケースにおいては、 最大同時には1つのインストーラーしか使用しないため、関数の呼び出し回数に関係なくnum_installersに1を指定することが可能です。
逆に、ある場面でインストーラーを10個使用する場合には、その他の場面でインストーラーを全く使用しない場合であっても、 num_installersに10を指定する必要があります。
- 備考:
- CRI File Systemライブラリは、使用するインストーラーの数分だけのメモリを初期化時に要求します。
そのため、num_installersに必要最小限の値をセットすることで、ライブラリが必要とするメモリのサイズを抑えることが可能です。
- 注意
- ::criFs_SetDefaultConfig マクロを使用してコンフィギュレーションを初期化する場合、num_installersの数は0に設定されます。
そのため、インストーラーを使用する場合には、アプリケーション中でnum_installersを明示的に指定する必要があります。
◆ max_binds
最大同時バインド数
- 説明:
- アプリケーション中でバインド処理を行い、保持するバインドID(CriFsBindId)の数を指定します。
アプリケーション中で ::criFsBinder_BindCpk 関数等を使用してバインド処理を行う場合、 本パラメータに使用するバインドIDの数を指定する必要があります。
max_bindsには「同時に使用するバインドIDの最大数」を指定します。
例えば、 ::criFsBinder_BindCpk 関数と ::criFsBinder_Unbind 関数を交互に続けて実行するケースにおいては、 最大同時には1つのバインドIDしか使用しないため、関数の呼び出し回数に関係なくmax_bindsに1を指定することが可能です。
逆に、ある場面でバインドIDを10個使用する場合には、その他の場面でバインドを一切行わない場合であっても、 max_bindsに10を指定する必要があります。
- 備考:
- CRI File Systemライブラリは、使用するバインドIDの数分だけのメモリを初期化時に要求します。
そのため、max_bindsに必要最小限の値をセットすることで、ライブラリが必要とするメモリのサイズを抑えることが可能です。
- 参照
- criFsBinder_BindCpk, criFsBinder_BindFile, criFsBinder_BindFiles, criFsBinder_BindDirectory, criFsBinder_Unbind
◆ max_files
最大同時オープンファイル数
- 説明:
- アプリケーション中でオープンするファイルの数を指定します。
アプリケーション中で ::criFsStdio_OpenFile 関数等を使用してファイルをオープンする場合、 本パラメータにオープンするファイルの数を指定する必要があります。
max_filesには「同時にオープンするファイルの最大数」を指定します。
例えば、 ::criFsStdio_OpenFile 関数と ::criFsStdio_CloseFile 関数を交互に続けて実行するケースにおいては、 最大同時には1つのファイルしかオープンしないため、関数の呼び出し回数に関係なくmax_filesに1を指定することが可能です。
逆に、ある場面でファイルを10個オープンする場合には、その他の場面でファイルを1つしかオープンしない場合であっても、 max_filesに10を指定する必要があります。
- 補足:
- CRI File Systemライブラリは、以下の関数を実行した場合にファイルをオープンします。
ファイルがオープンされる場面
関数 | 備考 |
criFsBinder_BindCpk | オープンされるファイルの数は1つ。
criFsBinder_Unbind 関数が実行されるまでの間ファイルはオープンされ続ける。 |
criFsBinder_BindFile | オープンされるファイルの数は1つ。
criFsBinder_Unbind 関数が実行されるまでの間ファイルはオープンされ続ける。 |
criFsBinder_BindFiles | リストに含まれる数分ファイルがオープンされる。
criFsBinder_Unbind 関数が実行されるまでファイルはオープンされ続ける。 |
criFsLoader_Load | オープンされるファイルの数は1つ。
ロードが完了するまでの間ファイルはオープンされ続ける。
バインダーを指定した場合、ファイルはオープンされない(バインダーが既にオープン済みのため)。 |
criFsStdio_OpenFile | オープンされるファイルの数は1つ。
criFsStdio_CloseFile 関数が実行されるまでの間ファイルはオープンされ続ける。
バインダーを指定した場合、ファイルはオープンされない(バインダーが既にオープン済みのため)。 |
criFsInstaller_Copy | オープンされるファイルの数は2つ。
ファイルコピーが完了するまでの間ファイルはオープンされ続ける。
バインダーを指定した場合、オープンされるファイルは1つになる(1つをバインダーが既にオープン済みのため)。 |
- 注意
- ブリッジライブラリを使用してADXライブラリや救声主ライブラリを併用する場合、 ADXTハンドルやcriSsPlyハンドルは内部的にCriFsStdioハンドルを作成します。
そのため、ブリッジライブラリを使用する場合には、CRI File Systemライブラリ初期化時に max_filesにADXTハンドルやcriSsPlyハンドルの数を加えた値を指定してください。
◆ max_path
パスの最大長(バイト単位)
- 説明:
- アプリケーション中で指定するファイルパスの最大長を指定します。
アプリケーション中で ::criFsLoader_Load 関数等を使用してファイルにアクセスする場合、 本パラメータにアプリケーションで使用するパス文字列の最大長を指定する必要があります。
max_pathには「使用するパス文字列の最大数」を指定します。
ある場面で256バイトのファイルパスを使用する場合、その他の場面で32バイトのファイルパスしか使わない場合でも、 max_pathには256を指定する必要があります。
- 備考:
- パスの最大長には、終端のNULL文字を含んだ数を指定する必要があります。
(「文字数+1バイト」の値を指定する必要があります。)
- 注意
- PC等、ユーザーがアプリケーションを自由な場所にインストール可能な場合には、想定される最大サイズを max_path に指定する必要がありますので、ご注意ください。
◆ version
ライブラリバージョン番号
- 説明:
- CRI File Systemライブラリのバージョン番号です。
::criFs_SetDefaultConfig 関数により、本ヘッダーに定義されているバージョン番号が設定されます。
- 注意
- アプリケーションでは、この値を変更しないでください。
◆ version_string
const CriChar8* version_string |
ライブラリバージョン文字列
- 説明:
- CRI File Systemライブラリのバージョン文字列です。
::criFs_SetDefaultConfig 関数により、本ヘッダーに定義されているバージョン文字列が設定されます。
- 注意
- アプリケーションでは、この値を変更しないでください。
◆ enable_crc_check
CPKファイルのCRCチェックを行うかどうか
- 説明:
- CPKファイル内のCRC情報を使用し、データ整合性チェックを行うかをどうかを切り替えるフラグです。
本フラグを CRI_TRUE に設定すると、以下のタイミングでCRCチェックを行います。
- CPKバインド時にTOC情報のCRCチェック
- コンテンツファイルロード時にコンテンツファイル単位のCRCチェック CPKに付加されたCRC情報と、実際に読みこんだデータのCRCが一致しない場合、エラーとなります。
この構造体詳解は次のファイルから抽出されました: