CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriFs

    CriFs API

    Inheritance
    object
    CriFs
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: CriWare
    Assembly: CriWare.CriFs.dll
    Syntax
    public static class CriFs

    Fields

    DeviceDefault

    デフォルトデバイスID

    Declaration
    public const CriFs.DeviceId DeviceDefault = _00
    Field Value
    Type Description
    CriFs.DeviceId

    DeviceMemory

    メモリファイルシステムデバイスID

    Declaration
    public const CriFs.DeviceId DeviceMemory = _07
    Field Value
    Type Description
    CriFs.DeviceId

    GrouploaderNoPreparationLimit

    準備ファイル数の制限を設定するAPIで「無制限」を示す特別値

    Declaration
    public const int GrouploaderNoPreparationLimit = 0
    Field Value
    Type Description
    int
    Remarks

    説明: LimitNumPreparingFiles(int) 関数でこの値を指定した場合や、 LimitNumPreparingFiles(int) 関数を使用しない場合、準備処理は LoadBulk(Span<byte>, Span<GroupFileInfo>) 関数内で完結させます。

    LoadlimiterSizeDefault

    ロードリミッタサイズのデフォルト値(リミッタ制限なし)

    Declaration
    public const int LoadlimiterSizeDefault = 2147483647
    Field Value
    Type Description
    int
    Remarks

    注意: ゲーム機向けではロードリミッタ機能は非サポートです。

    LoadlimiterSizeUnlimited

    Declaration
    public const int LoadlimiterSizeUnlimited = 2147483647
    Field Value
    Type Description
    int

    ReadRequestNumUnlimited

    リード要求回数の「制限なし」を示す特別値(デフォルト値)

    Declaration
    public const int ReadRequestNumUnlimited = 2147483647
    Field Value
    Type Description
    int

    Properties

    SelectIoCallback

    コールバックイベントオブジェクト

    Declaration
    public static CriFs.SelectIoCbFunc SelectIoCallback { get; }
    Property Value
    Type Description
    CriFs.SelectIoCbFunc
    See Also
    SetSelectIoCallback(delegate* unmanaged[Cdecl]<NativeString, DeviceId*, NativeReference<IoInterface>*, Error>)

    Methods

    AddressToPath(IntPtr, long, Span<byte>)

    Pro

    メモリファイルパスの作成

    Declaration
    • C#
    • C
    public static CriErr.Error AddressToPath(IntPtr buffer, long bufferSize, Span<byte> path)
    CriError CRIAPI criFs_AddressToPath(const void *buffer, CriSint64 buffer_size, CriChar8 *path, CriSint32 length)
    Parameters
    Type Name Description
    IntPtr buffer

    データアドレス

    long bufferSize

    データサイズ

    Span<byte> path

    パス文字列格納領域

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: メモリ上に配置されたデータをファイルとしてアクセスするためのパス文字列を作成します。 第1引数( buffer )と第2引数( buffer_size )にデータの格納アドレスとデータサイズを指定することで、 当該データをファイルとして扱うためのパスが第3引数( path )に格納されます。 尚、パス文字列を格納する領域のサイズは、第4引数( length )で指定します。

    備考: 本関数は、メモリ上にロードされたCPKファイルをバインドする際に利用します。 CPKファイルをメモリ上にロード後、ロードした領域のアドレスとサイズを本関数でパス文字列に変換するし、 BindCpk(CriFsBinder, ArgString, out CriFsBind) 関数等に指定することで、オンメモリCPKデータのバインドが可能になります。

    注意: パス文字列の格納領域サイズが小さい場合、本関数は失敗し、エラーを返します。 現状、32bitメモリ空間のみの環境では、パス文字列の格納領域は 28 バイト必要です。 64bitメモリ空間の環境では、 パス文字列の格納領域は 44 バイト必要です。

    See Also
    CriFs.DeviceId
    CriFs.DeviceInfo
    GetDeviceInfo(DeviceId, out DeviceInfo)

    AttachLogOutput(LogOutputMode, IntPtr)

    Pro

    ログ出力機能の追加

    Declaration
    • C#
    • C
    public static CriErr.Error AttachLogOutput(CriFs.LogOutputMode mode, IntPtr param)
    CriError CRIAPI criFs_AttachLogOutput(CriFsLogOutputMode mode, void *param)
    Parameters
    Type Name Description
    CriFs.LogOutputMode mode

    ログ出力モード

    IntPtr param

    拡張パラメータ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ログ出力機能を有効にし、ファイルアクセスログの出力を開始します。 本関数を実行すると、ファイルにアクセスするタイミングで、デバッガー等にファイルアクセスログが出力されるようになります。

    注意: 本関数を実行後、必ず対になる DetachLogOutput() 関数を実行してください。 また、 DetachLogOutput() 関数を実行するまでは、本関数を再度実行することはできません。

    See Also
    DetachLogOutput()

    BeginGroup(ArgString, ArgString)

    Pro

    グループ優先区間の開始

    Declaration
    • C#
    • C
    public static CriErr.Error BeginGroup(ArgString groupname, ArgString attrname)
    CriError CRIAPI criFs_BeginGroup(const CriChar8 *groupname, const CriChar8 *attrname)
    Parameters
    Type Name Description
    ArgString groupname

    グループ名

    ArgString attrname

    アトリビュート名

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: グループ優先区間を開始します。 本関数実行後、 EndGroup() 関数を実行するまでの間、指定したグループ内のファイルが優先的にロードされるようになります。 (バインダー内に同じ名前のファイルが複数存在する場合でも、指定したグループ内のファイルが優先して選択されます。) 本関数を使用することにより、通常のローダーを使用する場合でも、グループ化の恩恵を受けることが可能になります。

    注意: 複数のグループ優先区間を重複させることはできません。 本関数を実行後、必ず対になる EndGroup() 関数を実行してください。 本関数と BeginLoadRegion(IntPtr) 関数を併用することはできません。 (CRI File System Ver.2.02.00より、 BeginLoadRegion(IntPtr) 関数は本関数を呼び出すメソッドに変更されました。)

    See Also
    EndGroup()
    BeginLoadRegion(IntPtr)

    BeginLoadRegion(IntPtr)

    Pro

    ロード区間の開始

    Declaration
    • C#
    • C
    public static CriErr.Error BeginLoadRegion(IntPtr name)
    CriError criFs_BeginLoadRegion_(Char8 *name)
    Parameters
    Type Name Description
    IntPtr name

    ロード区間名

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ロード区間の開始を宣言します。 AttachLogOutput(LogOutputMode, IntPtr) 関数でファイルアクセスログの出力を有効にしている場合、本関数の引数(name)で指定したロード区間名がログに出力されます。 ロード区間は、ファイルを最適に配置するための目安として使用されます。 CPK File Builderでファイルアクセスログからグループを作成する場合、本関数で定義したロード区間がグループに変換されます。 (同一ロード区間内でロードするファイル同士は、最適配置時に近い場所に配置される可能性が高くなります。)

    注意: 複数のロード区間を重複させることはできません。 本関数を実行後、必ず対になる EndLoadRegion() 関数を実行してください。 本関数と BeginGroup(ArgString, ArgString) 関数を併用することはできません。 (CRI File System Ver.2.02.00より、本関数の機能が BeginGroup(ArgString, ArgString) 関数に統合され、関数自体も BeginGroup(ArgString, ArgString) 関数を呼び出すメソッドに変更されました。)

    See Also
    EndLoadRegion()
    BeginGroup(ArgString, ArgString)

    CalculateWorkSizeForLibrary(in Config, out int)

    Pro

    ワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static CriErr.Error CalculateWorkSizeForLibrary(in CriFs.Config config, out int nbyte)
    CriError CRIAPI criFs_CalculateWorkSizeForLibrary(const CriFsConfig *config, CriSint32 *nbyte)
    Parameters
    Type Name Description
    CriFs.Config config

    コンフィギュレーション

    int nbyte

    ワーク領域サイズ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリを使用するために必要な、ワーク領域のサイズを取得します。

    備考: ワーク領域のサイズはコンフィギュレーション( CriFs.Config )の内容によって変化します。 ライブラリに割り当てるメモリサイズを削減したい場合には、コンフィギュレーションのパラメータを適宜調節してください。 config に null を指定した場合、デフォルトのコンフィギュレーションが適用されます。

    See Also
    CriFs.Config

    ControlFileIoMode(FileIoMode)

    LE Pro

    ファイルI/Oモードの設定

    Declaration
    • C#
    • C
    public static CriErr.Error ControlFileIoMode(CriFs.FileIoMode ioMode)
    CriError CRIAPI criFs_ControlFileIoMode(CriFsFileIoMode io_mode)
    Parameters
    Type Name Description
    CriFs.FileIoMode ioMode

    ファイルI/Oモード

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリ全体のファイルI/Oモードを設定します。 ShareFileHandle を設定すると、ファイルオブジェクトをライブラリ内部で共有 し、ファイルアクセスを効率良く行います。 具体的には、BindCpk(CriFsBinder, ArgString, out CriFsBind) 関数、BindFile(CriFsBinder, ArgString, out CriFsBind) 関数を呼び出し時に作成 したファイルオブジェクトはアンバインドするまでライブラリ内部で保持し、保持中のファイルに対するアクセスでは ファイルオープンが発生しません。 OpenEveryTime を設定すると、ファイルオブジェクトの共有を行わずにファイル アクセスのたびにファイルオープンを行います。 ファイルオープン負荷の分だけファイル読み込みの性能は落ちますが、ファイルアクセスが必要な時のみ ファイルオブジェクトを作成するため、ファイルディスクリプタなどのリソース消費を最小限に抑えることが可能です。 未設定時(CRI File Systemライブラリのデフォルト設定)は、機種ごとに異なります。 機種固有マニュアルに記載がない限り、デフォルト設定は ShareFileHandle です。

    注意: 本関数はライブラリ初期化前に呼び出してください。 ライブラリ初期化後に呼び出すことは出来ません。

    See Also
    CriFs.FileIoMode

    DetachLogOutput()

    Pro

    ログ出力機能の削除

    Declaration
    • C#
    • C
    public static CriErr.Error DetachLogOutput()
    CriError CRIAPI criFs_DetachLogOutput(void)
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ログ出力機能を無効にし、ファイルアクセスログの出力を停止します。 本関数を実行することで、デバッガー等へのファイルアクセスログの出力を停止することが可能です。

    注意: DetachLogOutput() 関数実行前に本関数を実行することはできません。

    See Also
    AttachLogOutput(LogOutputMode, IntPtr)

    DisableAssetsAccessANDROID()

    LE Pro

    Androidプロジェクト内のassetsフォルダーに対するアクセスの無効化

    Declaration
    • C#
    • C
    public static CriErr.Error DisableAssetsAccessANDROID()
    CriError CRIAPI criFs_DisableAssetsAccess_ANDROID()
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: assetフォルダーへのアクセスを無効化します。

    EnableAssetsAccessANDROID(IntPtr, IntPtr)

    LE Pro

    Androidプロジェクト内のassetsフォルダーに対するアクセスの有効化

    Declaration
    • C#
    • C
    public static CriErr.Error EnableAssetsAccessANDROID(IntPtr vm, IntPtr jobj)
    CriError CRIAPI criFs_EnableAssetsAccess_ANDROID(JavaVM *vm, jobject jobj)
    Parameters
    Type Name Description
    IntPtr vm

    JavaVMオブジェクトへの参照

    IntPtr jobj

    android.content.Contextオブジェクト

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: assetフォルダーへのアクセスを有効化します。 アクセスが終了した場合、 DisableAssetsAccessANDROID() 関数 を呼び出してください。

    注意: : 本関数を呼び出す前に、CRI File Systemライブラリの初期化が完了済みである事を確認して下さい。

    EnableAssetsAccessForPrefixANDROID(IntPtr, IntPtr, ArgString)

    LE Pro

    Androidプロジェクト内のassetsフォルダーに対するアクセスの有効化(プレフィックス指定)

    Declaration
    • C#
    • C
    public static CriErr.Error EnableAssetsAccessForPrefixANDROID(IntPtr vm, IntPtr jobj, ArgString prefix)
    CriError CRIAPI criFs_EnableAssetsAccessForPrefix_ANDROID(JavaVM *vm, jobject jobj, const CriChar8 *prefix)
    Parameters
    Type Name Description
    IntPtr vm

    JavaVMオブジェクトへの参照

    IntPtr jobj

    android.content.Contextオブジェクト

    ArgString prefix

    assetsフォルダーへのアクセスを示すプレフィックス

    Returns
    Type Description
    CriErr.Error
    Remarks

    説明: 特定のプレフィックスから始まるファイルパスに対してassetフォルダーへのアクセスを有効化します。 本関数の呼び出し以降は、ファイルパスにprefix文字列が含まれる場合に、prefixを除いた文字列がassetsフォルダー内でのパスとして認識されます。 アクセスが終了した場合、 DisableAssetsAccessANDROID() 関数 を呼び出してください。

    注意: : 本関数を呼び出す前に、CRI File Systemライブラリの初期化が完了済みである事を確認して下さい。

    EndGroup()

    Pro

    グループ優先区間の終了

    Declaration
    • C#
    • C
    public static CriErr.Error EndGroup()
    CriError CRIAPI criFs_EndGroup(void)
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: グループ優先区間を終了します。

    注意: 本関数と EndLoadRegion() 関数を併用することはできません。 (CRI File System Ver.2.02.00より、 EndLoadRegion() 関数は本関数を呼び出すメソッドに変更されました。)

    See Also
    BeginGroup(ArgString, ArgString)

    EndLoadRegion()

    Pro

    ロード区間の終了

    Declaration
    • C#
    • C
    public static CriErr.Error EndLoadRegion()
    CriError criFs_EndLoadRegion_()
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ロード区間の終了を宣言します。

    注意: 本関数と EndGroup() 関数を併用することはできません。 (CRI File System Ver.2.02.00より、本関数の機能が EndGroup() 関数に統合され、関数自体も EndGroup() 関数を呼び出すメソッドに変更されました。)

    See Also
    BeginLoadRegion(IntPtr)
    EndGroup()

    ExecuteDataDecompression()

    Pro

    データ展開処理の実行(非スレッド時環境向け)

    Declaration
    • C#
    • C
    public static CriErr.Error ExecuteDataDecompression()
    CriError CRIAPI criFs_ExecuteDataDecompression(void)
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリのデータ展開処理を実行します。

    注意: この関数は、スレッドを使用しない環境でCRI File Systemライブラリを使用する場合に呼び出す必要があります。 スレッドを使用する環境では、この関数の代わりに、 ExecuteMain() 関数を実行してください。

    ExecuteFileAccess()

    Pro

    ファイルアクセス処理の実行(非スレッド時環境向け)

    Declaration
    • C#
    • C
    public static CriErr.Error ExecuteFileAccess()
    CriError CRIAPI criFs_ExecuteFileAccess(void)
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリのファイルアクセス処理を実行します。

    注意: この関数は、スレッドを使用しない環境でCRI File Systemライブラリを使用する場合に呼び出す必要があります。 スレッドを使用する環境では、この関数の代わりに、 ExecuteMain() 関数を実行してください。

    ExecuteMain()

    Pro

    サーバー処理の実行

    Declaration
    • C#
    • C
    public static CriErr.Error ExecuteMain()
    CriError CRIAPI criFs_ExecuteMain(void)
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリの内部状態を更新します。 アプリケーションは、この関数を定期的(毎フレーム1回程度)に実行する必要があります。

    注意: ExecuteMain() を実行しない場合、ファイルのロードが進まない等の問題が発生する可能性があります。

    FinalizeLibrary()

    Pro

    CRI File Systemの終了

    Declaration
    • C#
    • C
    public static CriErr.Error FinalizeLibrary()
    CriError CRIAPI criFs_FinalizeLibrary(void)
    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリを終了します。

    注意: InitializeLibrary(in Config) 関数実行前に本関数を実行することはできません。

    See Also
    InitializeLibrary(in Config)

    GetDataDecompressionThreadAffinityMaskPC(out IntPtr)

    LE Pro

    データ展開スレッドのアフィニティマスク取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetDataDecompressionThreadAffinityMaskPC(out IntPtr mask)
    CriError CRIAPI criFs_GetDataDecompressionThreadAffinityMask_PC(DWORD_PTR *mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: データ展開スレッドのアフィニティマスクを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetDataDecompressionThreadPriorityANDROID(out int)

    LE Pro

    データ展開スレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetDataDecompressionThreadPriorityANDROID(out int prio)
    CriError CRIAPI criFs_GetDataDecompressionThreadPriority_ANDROID(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: データ展開スレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetDataDecompressionThreadPriorityPC(out int)

    LE Pro

    データ展開スレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetDataDecompressionThreadPriorityPC(out int prio)
    CriError CRIAPI criFs_GetDataDecompressionThreadPriority_PC(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: データ展開スレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetDefaultIoInterface(out NativeReference<IoInterface>)

    Pro

    デフォルトI/Oインターフェイスの取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetDefaultIoInterface(out NativeReference<CriFs.IoInterface> ioif)
    CriError CRIAPI criFs_GetDefaultIoInterface(CriFsIoInterface **ioif)
    Parameters
    Type Name Description
    NativeReference<CriFs.IoInterface> ioif

    I/Oインターフェイス

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリがデフォルトで利用するI/Oインターフェイスを取得します。 I/O選択コールバック(CriFs.SelectIoCbFunc )内でデフォルトの処理をさせたい場合には、 本関数で取得したI/Oインターフェイスを、出力値として返してください。

    See Also
    CriFs.SelectIoCbFunc
    SetSelectIoCallback(delegate* unmanaged[Cdecl]<NativeString, DeviceId*, NativeReference<IoInterface>*, Error>)

    GetDeviceInfo(DeviceId, out DeviceInfo)

    Pro

    デバイス情報の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetDeviceInfo(CriFs.DeviceId id, out CriFs.DeviceInfo info)
    CriError CRIAPI criFs_GetDeviceInfo(CriFsDeviceId id, CriFsDeviceInfo *info)
    Parameters
    Type Name Description
    CriFs.DeviceId id

    デバイスID

    CriFs.DeviceInfo info

    デバイス情報

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: 指定したデバイスの情報を取得します。 指定したデバイスがファイルの書き込みに対応しているかどうかや、 読み書きに使用するバッファーのアライメント調整が必要かどうかを確認することが可能です。

    See Also
    CriFs.DeviceId
    CriFs.DeviceInfo
    SetDeviceInfo(DeviceId, DeviceInfo)

    GetFileAccessThreadAffinityMaskPC(out IntPtr)

    LE Pro

    ファイルアクセススレッドのアフィニティマスク取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetFileAccessThreadAffinityMaskPC(out IntPtr mask)
    CriError CRIAPI criFs_GetFileAccessThreadAffinityMask_PC(DWORD_PTR *mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのアフィニティマスクを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetFileAccessThreadPriorityANDROID(out int)

    LE Pro

    ファイルアクセススレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetFileAccessThreadPriorityANDROID(out int prio)
    CriError CRIAPI criFs_GetFileAccessThreadPriority_ANDROID(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetFileAccessThreadPriorityPC(out int)

    LE Pro

    ファイルアクセススレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetFileAccessThreadPriorityPC(out int prio)
    CriError CRIAPI criFs_GetFileAccessThreadPriority_PC(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetInstallerThreadAffinityMaskPC(out IntPtr)

    LE Pro

    インストーラースレッドのアフィニティマスク取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetInstallerThreadAffinityMaskPC(out IntPtr mask)
    CriError CRIAPI criFs_GetInstallerThreadAffinityMask_PC(DWORD_PTR *mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: インストーラースレッドのアフィニティマスクを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetInstallerThreadPriorityPC(out int)

    LE Pro

    インストーラースレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetInstallerThreadPriorityPC(out int prio)
    CriError CRIAPI criFs_GetInstallerThreadPriority_PC(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: インストーラースレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetMemoryFileSystemThreadAffinityMaskPC(out IntPtr)

    LE Pro

    メモリファイルシステムスレッドのアフィニティマスク取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetMemoryFileSystemThreadAffinityMaskPC(out IntPtr mask)
    CriError CRIAPI criFs_GetMemoryFileSystemThreadAffinityMask_PC(DWORD_PTR *mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: メモリファイルシステムスレッドのアフィニティマスクを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetMemoryFileSystemThreadPriorityANDROID(out int)

    LE Pro

    メモリファイルシステムスレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetMemoryFileSystemThreadPriorityANDROID(out int prio)
    CriError CRIAPI criFs_GetMemoryFileSystemThreadPriority_ANDROID(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: メモリファイルシステムスレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetMemoryFileSystemThreadPriorityPC(out int)

    LE Pro

    メモリファイルシステムスレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetMemoryFileSystemThreadPriorityPC(out int prio)
    CriError CRIAPI criFs_GetMemoryFileSystemThreadPriority_PC(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: メモリファイルシステムスレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetNumBinds(out int, out int, out int)

    Pro

    バインド数の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetNumBinds(out int curNum, out int maxNum, out int limit)
    CriError CRIAPI criFs_GetNumBinds(CriSint32 *cur_num, CriSint32 *max_num, CriSint32 *limit)
    Parameters
    Type Name Description
    int curNum

    現在バインド中の数

    int maxNum

    過去に最大同時にバインドした数

    int limit

    バインド可能回数の上限値

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: バインド数に関する情報を取得します。

    GetNumOpenedFiles(out int, out int, out int)

    Pro

    オープンされたファイル数の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetNumOpenedFiles(out int curNum, out int maxNum, out int limit)
    CriError CRIAPI criFs_GetNumOpenedFiles(CriSint32 *cur_num, CriSint32 *max_num, CriSint32 *limit)
    Parameters
    Type Name Description
    int curNum

    現在オープン中のファイルの数

    int maxNum

    過去に最大同時にオープンしたファイルの数

    int limit

    オープン可能なファイルの上限値

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルのオープン数に関する情報を取得します。

    GetNumUsedBinders(out int, out int, out int)

    LE Pro

    バインダー使用数の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetNumUsedBinders(out int curNum, out int maxNum, out int limit)
    CriError CRIAPI criFs_GetNumUsedBinders(CriSint32 *cur_num, CriSint32 *max_num, CriSint32 *limit)
    Parameters
    Type Name Description
    int curNum

    現在使用中のバインダーの数

    int maxNum

    過去に最大同時に利用したバインダーの数

    int limit

    利用可能なバインダーの上限数

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: バインダーの使用数に関する情報を取得します。

    GetNumUsedGroupLoaders(out int, out int, out int)

    Pro

    グループローダー使用数の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetNumUsedGroupLoaders(out int curNum, out int maxNum, out int limit)
    CriError CRIAPI criFs_GetNumUsedGroupLoaders(CriSint32 *cur_num, CriSint32 *max_num, CriSint32 *limit)
    Parameters
    Type Name Description
    int curNum

    現在使用中のグループローダーの数

    int maxNum

    過去に最大同時に利用したグループローダーの数

    int limit

    利用可能なグループローダーの上限数

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: グループローダーの使用数に関する情報を取得します。

    GetNumUsedInstallers(out int, out int, out int)

    Pro

    インストーラー使用数の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetNumUsedInstallers(out int curNum, out int maxNum, out int limit)
    CriError CRIAPI criFs_GetNumUsedInstallers(CriSint32 *cur_num, CriSint32 *max_num, CriSint32 *limit)
    Parameters
    Type Name Description
    int curNum

    現在使用中のインストーラーの数

    int maxNum

    過去に最大同時に利用したインストーラーの数

    int limit

    利用可能なインストーラーの上限数

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: インストーラーの使用数に関する情報を取得します。

    GetNumUsedLoaders(out int, out int, out int)

    Pro

    ローダー使用数の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetNumUsedLoaders(out int curNum, out int maxNum, out int limit)
    CriError CRIAPI criFs_GetNumUsedLoaders(CriSint32 *cur_num, CriSint32 *max_num, CriSint32 *limit)
    Parameters
    Type Name Description
    int curNum

    現在使用中のローダーの数

    int maxNum

    過去に最大同時に利用したローダーの数

    int limit

    利用可能なローダーの上限数

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ローダーの使用数に関する情報を取得します。

    GetNumUsedStdioHandles(out int, out int, out int)

    Pro

    CriFsStdioハンドル使用数の取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetNumUsedStdioHandles(out int curNum, out int maxNum, out int limit)
    CriError CRIAPI criFs_GetNumUsedStdioHandles(CriSint32 *cur_num, CriSint32 *max_num, CriSint32 *limit)
    Parameters
    Type Name Description
    int curNum

    現在使用中のCriFsStdioハンドルの数

    int maxNum

    過去に最大同時に利用したCriFsStdioハンドルの数

    int limit

    利用可能なCriFsStdioハンドルの上限数

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CriFsStdioオブジェクトの使用数に関する情報を取得します。

    GetServerThreadAffinityMaskPC(out IntPtr)

    LE Pro

    サーバー処理スレッドのアフィニティマスク取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetServerThreadAffinityMaskPC(out IntPtr mask)
    CriError CRIAPI criFs_GetServerThreadAffinityMask_PC(DWORD_PTR *mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: サーバー処理(ライブラリの内部処理)を行うスレッドのアフィニティマスクを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    GetServerThreadPriorityPC(out int)

    LE Pro

    サーバー処理スレッドのプライオリティ取得

    Declaration
    • C#
    • C
    public static CriErr.Error GetServerThreadPriorityPC(out int prio)
    CriError CRIAPI criFs_GetServerThreadPriority_PC(int *prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: サーバー処理(ライブラリの内部処理)を行うスレッドのプライオリティを取得します。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数はエラーを返します。 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行した場合、本関数はエラーを返します。

    InitializeLibrary(in Config)

    Pro

    CRI File Systemの初期化

    Declaration
    • C#
    • C
    public static CriErr.Error InitializeLibrary(in CriFs.Config config)
    CriError CRIAPI criFs_InitializeLibrary(const CriFsConfig *config, void *buffer, CriSint32 size)
    Parameters
    Type Name Description
    CriFs.Config config

    コンフィギュレーション

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリを初期化します。 ライブラリの機能を利用するには、必ずこの関数を実行する必要があります。 (ライブラリの機能は、本関数を実行後、 FinalizeLibrary() 関数を実行するまでの間、利用可能です。) ライブラリを初期化する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザーが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 User Allocator方式を用いる場合、ユーザーはCRI File Systemライブラリにメモリ確保関数を登録しておきます。 workにnull、sizeに0を指定して本関数を呼び出すことで、 ライブラリは登録済みのメモリ確保関数を使用して必要なメモリを自動的に確保します。 ユーザーがワーク領域を用意する必要はありません。 初期化時に確保されたメモリは、終了処理時( FinalizeLibrary() 関数実行時)に解放されます。 Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。 ワーク領域のサイズは CalculateWorkSizeForLibrary(in Config, out int) 関数で取得可能です。 初期化処理の前に CalculateWorkSizeForLibrary(in Config, out int) 関数で取得したサイズ分のメモリを予め 確保しておき、本関数に設定してください。 尚、Fixed Memory方式を用いた場合、ワーク領域はライブラリの終了処理( FinalizeLibrary() 関数) を行なうまでの間、ライブラリ内で利用され続けます。 ライブラリの終了処理を行なう前に、ワーク領域のメモリを解放しないでください。

    例: 【User Allocator方式によるライブラリの初期化】 User Allocator方式を用いる場合、ライブラリの初期化/終了の手順は以下の通りです。

    1. 初期化処理実行前に、 SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr) 関数と SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を用いてメモリ確保/解放関数を登録する。
    2. 初期化用コンフィグ構造体にパラメータをセットする。
    3. InitializeLibrary(in Config) 関数で初期化処理を行う。 (workにはnull、sizeには0を指定する。)
    4. アプリケーション終了時に FinalizeLibrary() 関数で終了処理を行なう。 【Fixed Memory方式によるライブラリの初期化】 Fixed Memory方式を用いる場合、ライブラリの初期化/終了の手順は以下の以下の通りです。
    5. 初期化用コンフィグ構造体にパラメータをセットする。
    6. ライブラリの初期化に必要なワーク領域のサイズを、 CalculateWorkSizeForLibrary(in Config, out int) 関数を使って計算する。
    7. ワーク領域サイズ分のメモリを確保する。
    8. InitializeLibrary(in Config) 関数で初期化処理を行う。 (workには確保したメモリのアドレスを、sizeにはワーク領域のサイズを指定する。)
    9. アプリケーション終了時に FinalizeLibrary() 関数で終了処理を行なう。
    10. ワーク領域のメモリを解放する。

    備考: ライブラリ使用中に確保できるオブジェクトの数(CriFsBinderやCriFsLoaderの数)は、 初期化設定コンフィギュレーション(引数のconfig)で指定します。 ライブラリが必要とするワーク領域のサイズも、コンフィギュレーション内容に応じて変化します。 (オブジェクト数を増やせば、必要なメモリのサイズも大きくなります。) config に null を指定した場合、デフォルトのコンフィギュレーションが適用されます。

    注意: 本関数を実行後、必ず対になる FinalizeLibrary() 関数を実行してください。 また、 FinalizeLibrary() 関数を実行するまでは、本関数を再度実行することはできません。

    See Also
    CriFs.Config
    CalculateWorkSizeForLibrary(in Config, out int)
    FinalizeLibrary()
    SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr)
    SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)

    LimitNumReadRequest(int)

    Pro

    リード要求回数の制限

    Declaration
    • C#
    • C
    public static CriErr.Error LimitNumReadRequest(int limitNumReadRequest)
    CriError CRIAPI criFs_LimitNumReadRequest(CriSint32 limit_num_read_request)
    Parameters
    Type Name Description
    int limitNumReadRequest

    1サーバー周期当たりのリード要求回数の上限

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: 1サーバー周期当たりのリード要求回数の上限を設定します。 デフォルト値は ReadRequestNumUnlimited(制限なし)となっています。 リード要求毎にかかるCPU負荷が高いプラットホームにおいて、この関数を利用する ことでファイルシステムが消費するCPU時間を制限して、他の負荷が高い処理のため にCPU時間を確保することができます。 この関数を利用した場合、副作用として、多数の小さなファイルを読み込む場合の スループットが低下します。

    SetConfigForWorkSizeCalculation(in Config)

    Pro

    ワーク領域サイズ計算用コンフィグ構造体の設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetConfigForWorkSizeCalculation(in CriFs.Config config)
    CriError CRIAPI criFs_SetConfigForWorkSizeCalculation(const CriFsConfig *config)
    Parameters
    Type Name Description
    CriFs.Config config

    初期化用コンフィグ構造体

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ワーク領域サイズの計算用に、ライブラリ初期化用コンフィグ構造体 ( CriFs.Config 構造体)を仮登録します。 ローダーやバインダーの作成、バインド処理等に必要なワーク領域のサイズは、ライブラリ初期化時 ( InitializeLibrary(in Config) 関数実行時)に指定するパラメーターによって変化します。 そのため、ライブラリを初期化せずにワーク領域サイズだけを取得したい場合、 ワーク領域計算前に本関数を実行してライブラリ初期化パラメーターを仮登録しておく必要があります。

    備考: 引数( config )に null を指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で ワーク領域サイズを計算します。

    注意: 本関数で登録した初期化用コンフィグ構造体は、 ライブラリ未初期化状態でのワーク領域サイズ計算にしか使用されません。 ライブラリ初期化後には本関数に設定したパラメーターではなく、 InitializeLibrary(in Config) 関数に指定されたパラメーターがワーク領域サイズの計算に使用されます。 (本関数で登録する構造体のパラメーターと、ライブラリの初期化に使用する構造体のパラメーターが異なる場合、 ワーク領域サイズが不足し、ローダーの作成に失敗する恐れがあります。)

    See Also
    GetWorkSize(out int)

    SetDataDecompressionThreadAffinityMaskPC(IntPtr)

    LE Pro

    データ展開スレッドのアフィニティマスク設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetDataDecompressionThreadAffinityMaskPC(IntPtr mask)
    CriError CRIAPI criFs_SetDataDecompressionThreadAffinityMask_PC(DWORD_PTR mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: データ展開スレッドのアフィニティマスクを設定します。 引数 mask には Win32 API のスレッドアフィニティマスク( SetThreadAffinityMask 関数の引数)を指定します。 デフォルト状態ではアフィニティマスクは設定されていません。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetDataDecompressionThreadPriorityANDROID(int)

    LE Pro

    データ展開スレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetDataDecompressionThreadPriorityANDROID(int prio)
    CriError CRIAPI criFs_SetDataDecompressionThreadPriority_ANDROID(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: データ展開スレッドのプライオリティを設定します。 プライオリティはナイス値で指定してください。範囲は-20(最高)から19(最低)です。 アプリケーションのメインスレッドよりも高いプライオリティを指定してください。 プライオリティのデフォルト値は 9 です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetDataDecompressionThreadPriorityIOS(int)

    Pro

    データ展開スレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetDataDecompressionThreadPriorityIOS(int prio)
    CriError CRIAPI criFs_SetDataDecompressionThreadPriority_IOS(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: データ展開スレッドのプライオリティを設定します。 アプリケーションのメインスレッドよりも低いプライオリティを指定してください。 プライオリティのデフォルト値は -13 です。

    SetDataDecompressionThreadPriorityPC(int)

    LE Pro

    データ展開スレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetDataDecompressionThreadPriorityPC(int prio)
    CriError CRIAPI criFs_SetDataDecompressionThreadPriority_PC(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: データ展開スレッドのプライオリティを設定します。 引数 prio には Win32 API のスレッド優先レベル( SetThreadPriority 関数の引数)を指定します。 アプリケーションのメインスレッドよりも低いプライオリティを指定してください。 プライオリティのデフォルト値は THREAD_PRIORITY_LOWEST です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetDefaultConfig(out Config)

    Pro

    デフォルトコンフィギュレーションのセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfig(out CriFs.Config pConfig)
    void criFs_SetDefaultConfig_(CriFsConfig *p_config)
    Parameters
    Type Name Description
    CriFs.Config pConfig

    コンフィギュレーション

    Remarks

    説明: InitializeLibrary(in Config) 関数に設定するコンフィギュレーション( CriFs.Config )に、デフォルトの値をセットします。

    補足: コンフィギュレーションに設定する各パラメータを、アプリケーションで使用するオブジェクトの数に応じて調節することで、 ライブラリが必要とするメモリサイズを小さく抑えることが可能です。 しかし、アプリケーション中で使用するオブジェクトの数が明確でない開発初期段階や、メモリサイズがタイトではないケースでは、 本メソッドを使用することによりで、初期化処理を簡略化することが可能です。

    注意: : 本メソッドでは、ほとんどのケースで必要充分な数のオブジェクトが確保できるよう、コンフィギュレーションの各パラメータに大きめの値をセットします。 そのため、本メソッドを使用した場合、ライブラリが必要とするワーク領域のサイズは大きくなりますので、ご注意ください。 (メモリサイズがタイトなケースでは、本メソッドでコンフィギュレーションを初期化した後、各パラメータを個別に調節することをオススメいたします。)

    See Also
    CriFs.Config

    SetDefaultPathSeparator(DefaultPathSeparator)

    Pro

    デフォルトパス区切り文字の設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetDefaultPathSeparator(CriFs.DefaultPathSeparator defaultPathSeparator)
    CriError CRIAPI criFs_SetDefaultPathSeparator(CriFsDefaultPathSeparator default_path_separator)
    Parameters
    Type Name Description
    CriFs.DefaultPathSeparator defaultPathSeparator

    デフォルトパス区切り文字設定

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: CRI File Systemライブラリ内部で標準として扱うパス区切り文字を設定します。 PlatformCompatible を設定すると、パス区切り文字を自動的に そのプラットフォームで標準とされるパス区切り文字へと変換して処理します。 None を設定すると、パス区切り文字の変換は行わず、 与えられたパスをそのまま使用するようになります。 未設定時(CRI File Systemライブラリのデフォルト設定)はPlatformCompatible です。

    See Also
    CriFs.DefaultPathSeparator

    SetDeviceInfo(DeviceId, DeviceInfo)

    Pro

    デバイス情報の設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetDeviceInfo(CriFs.DeviceId id, CriFs.DeviceInfo info)
    CriError CRIAPI criFs_SetDeviceInfo(CriFsDeviceId id, CriFsDeviceInfo info)
    Parameters
    Type Name Description
    CriFs.DeviceId id

    デバイスID

    CriFs.DeviceInfo info

    デバイス情報

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: 指定したデバイスの情報を変更します。 I/Oレイヤー差し替え時、I/Oレイヤー側でデバイスの制限を緩和できる場合等に使用します。

    See Also
    CriFs.DeviceId
    CriFs.DeviceInfo
    GetDeviceInfo(DeviceId, out DeviceInfo)

    SetFileAccessThreadAffinityMaskPC(IntPtr)

    LE Pro

    ファイルアクセススレッドのアフィニティマスク設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetFileAccessThreadAffinityMaskPC(IntPtr mask)
    CriError CRIAPI criFs_SetFileAccessThreadAffinityMask_PC(DWORD_PTR mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのアフィニティマスクを設定します。 引数 mask には Win32 API のスレッドアフィニティマスク( SetThreadAffinityMask 関数の引数)を指定します。 デフォルト状態ではアフィニティマスクは設定されていません。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetFileAccessThreadPriorityANDROID(int)

    LE Pro

    ファイルアクセススレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetFileAccessThreadPriorityANDROID(int prio)
    CriError CRIAPI criFs_SetFileAccessThreadPriority_ANDROID(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのプライオリティを設定します。 criFs_Initialize() の呼出し後に設定してください。 プライオリティはナイス値で指定してください。範囲は-20(最高)から19(最低)です。 アプリケーションのメインスレッドよりも高いプライオリティを指定してください。 プライオリティのデフォルト値は -7 です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetFileAccessThreadPriorityIOS(int)

    Pro

    ファイルアクセススレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetFileAccessThreadPriorityIOS(int prio)
    CriError CRIAPI criFs_SetFileAccessThreadPriority_IOS(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのプライオリティを設定します。 アプリケーションのメインスレッドよりも高いプライオリティを指定してください。 プライオリティのデフォルト値は 8 です。

    SetFileAccessThreadPriorityPC(int)

    LE Pro

    ファイルアクセススレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetFileAccessThreadPriorityPC(int prio)
    CriError CRIAPI criFs_SetFileAccessThreadPriority_PC(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのプライオリティを設定します。 引数 prio には Win32 API のスレッド優先レベル( SetThreadPriority 関数の引数)を指定します。 アプリケーションのメインスレッドよりも高いプライオリティを指定してください。 プライオリティのデフォルト値は THREAD_PRIORITY_HIGHEST です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetFileAccessThreadStackSize(uint)

    Pro

    ファイルアクセススレッドのスタックサイズ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetFileAccessThreadStackSize(uint size)
    CriError CRIAPI criFs_SetFileAccessThreadStackSize(CriUint32 size)
    Parameters
    Type Name Description
    uint size

    スタックサイズ(バイト単位)

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルアクセススレッドのスタックサイズを設定します。 設定しない場合は、機種ごとのデフォルト値が適用されます。

    注意: 本関数はライブラリ初期化前に呼び出してください。 ライブラリ初期化後に呼び出すことは出来ません。

    SetInstallerThreadAffinityMaskPC(IntPtr)

    LE Pro

    インストーラースレッドのアフィニティマスク設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetInstallerThreadAffinityMaskPC(IntPtr mask)
    CriError CRIAPI criFs_SetInstallerThreadAffinityMask_PC(DWORD_PTR mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: インストーラースレッドのアフィニティマスクを設定します。 引数 mask には Win32 API のスレッドアフィニティマスク( SetThreadAffinityMask 関数の引数)を指定します。 デフォルト状態ではアフィニティマスクは設定されていません。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetInstallerThreadPriorityPC(int)

    LE Pro

    インストーラースレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetInstallerThreadPriorityPC(int prio)
    CriError CRIAPI criFs_SetInstallerThreadPriority_PC(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: インストーラースレッドのプライオリティを設定します。 引数 prio には Win32 API のスレッド優先レベル( SetThreadPriority 関数の引数)を指定します。 アプリケーションのメインスレッドよりも高いプライオリティを指定してください。 プライオリティのデフォルト値は THREAD_PRIORITY_ABOVE_NORMAL です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetJavaVMANDROID(IntPtr)

    LE Pro

    JavaVMオブジェクトの登録

    Declaration
    • C#
    • C
    public static void SetJavaVMANDROID(IntPtr vm)
    void CRIAPI criFs_SetJavaVM_ANDROID(JavaVM *vm)
    Parameters
    Type Name Description
    IntPtr vm

    JavaVMオブジェクトへの参照

    Remarks

    説明: JavaVMオブジェクトへの参照をCriFileSystemライブラリに登録します。

    注意: : JavaVMオブジェクトへの参照を登録した場合、ライブラリ内部で作成されたスレッドはJavaVMにアタッチされます。

    SetLoadLimiterSize(LoadLimiterNo, int)

    Pro

    ロードリミッタのサイズの設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetLoadLimiterSize(CriFs.LoadLimiterNo limiterNo, int limiterSize)
    CriError CRIAPI criFs_SetLoadLimiterSize(CriFsLoadLimiterNo limiter_no, CriSint32 limiter_size)
    Parameters
    Type Name Description
    CriFs.LoadLimiterNo limiterNo

    ロードリミッタ番号

    int limiterSize

    ロードリミッタサイズ(byte/1サーバー周期)

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: 1サーバー周期当たりの読み込みサイズの制限値を設定します。 共通のリミッタ番号を割り当てた全てのローダー、グループローダー、バッチローダーの合計読み込みサイズが、ここで設定するサイズに制限されます。 制限に達したリミッタ番号のロード処理は一時保留され、次回のサーバー周期で自動的に再開します。 リミッタに計上する数値は、ロードリミッタの単位サイズに切り上げて積算します。 圧縮データを読み込む場合、オリジナルデータサイズではなく、圧縮データサイズをリミッタに計上します。 圧縮ファイルを分割読み込みできない環境では、圧縮ファイルを読み込むときリミッタの制限を越える場合があります。このような環境では、巨大な圧縮ファイルに対しては実質的にリミッタの制御が効かないことにご注意ください。 読み込み途中でもリミッタサイズを変更することができます。リミッタサイズをゼロとして一時停止することもできます。 リミッタ0番のサイズは設定できません。0番は制限のない通常のロード処理に割り当てられます。 現状はリミッタ1番だけが設定可能です。 リミッタサイズのデフォルト値は LoadlimiterSizeDefault (リミッタ制限なし)となっています。

    注意: ゲーム機向けではロードリミッタ機能は非サポートです。この関数は呼び出さないでください。

    See Also
    CriFs.LoadLimiterNo
    SetLoadLimiterSize(LoadLimiterNo, int)
    SetLoadLimiterUnit(LoadLimiterNo, int)
    SetLoadLimiter(LoadLimiterNo)
    SetLoadLimiter(LoadLimiterNo)

    SetLoadLimiterUnit(LoadLimiterNo, int)

    Pro

    ロードリミッタの単位サイズの設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetLoadLimiterUnit(CriFs.LoadLimiterNo limiterNo, int limiterUnit)
    CriError CRIAPI criFs_SetLoadLimiterUnit(CriFsLoadLimiterNo limiter_no, CriSint32 limiter_unit)
    Parameters
    Type Name Description
    CriFs.LoadLimiterNo limiterNo

    ロードリミッタ番号

    int limiterUnit

    ロードリミッタ単位サイズ(byte)

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: DMA転送単位サイズやROMページサイズなど、分割読み込みを許容する最小のサイズを設定してください。 リミッタ0番の単位サイズは設定できません。0番は制限のない通常のロード処理に割り当てられます。 現状はリミッタ1番だけが設定可能です。

    注意: ゲーム機向けではロードリミッタ機能は非サポートです。この関数は呼び出さないでください。

    See Also
    CriFs.LoadLimiterNo
    SetLoadLimiterSize(LoadLimiterNo, int)
    SetLoadLimiterUnit(LoadLimiterNo, int)
    SetLoadLimiter(LoadLimiterNo)
    SetLoadLimiter(LoadLimiterNo)

    SetMemoryFileSystemSyncCopyLimit(long)

    Pro

    メモリファイルシステム用同期コピーサイズ上限の設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetMemoryFileSystemSyncCopyLimit(long limit)
    CriError CRIAPI criFs_SetMemoryFileSystemSyncCopyLimit(CriSint64 limit)
    Parameters
    Type Name Description
    long limit

    同期コピーサイズ上限

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: 一定サイズ以下のメモリコピー処理を、メインスレッド側で実行するよう設定します。 メモリファイルシステムを使用する場合( AddressToPath(IntPtr, long, Span<byte>) 関数で作成したパスへアクセスする場合)、データの転送(≒メモリコピー処理) は低プライオリティのメモリコピー専用スレッド上で行なわれます。 (マルチスレッドモデル以外の場合、サーバー処理内でコピー処理が行われます。) この仕組みにより、巨大なデータをコピーする場合でもコピー処理にCPU時間が占有されることがなくなるため、 コピー処理によりメインループがブロックされてしまう、といった現象を防止することができます。 反面、別スレッドで行われるコピー処理をポーリングする形になるため、 小さなデータをコピーする際でも、ポーリング間隔に依存した遅延が発生することになります。 本関数で同期コピーサイズ上限を設定すると、設定されたサイズ以下のデータをコピーする際、 別スレッドでコピー処理を行わず、その場でコピー処理を実行するよう動作が変更されます。 (メインスレッドにコピー処理分の負荷がかかりますが、ロード完了までの時間が短縮されます。)

    備考: デフォルト設定では全てのコピー処理が別スレッドで実行されます。 本関数で同期コピー処理が有効になると、各モジュールの動作は以下のように変化します。 ・CriFsLoader Load(CriFsBinder, ArgString, long, long, Span<byte>) 関数実行直後にローダーのステータスが Complete に遷移します。 ( Load(CriFsBinder, ArgString, long, long, Span<byte>) 関数内でコピー処理を行います。) ・CriFsStdio ReadFile(long, IntPtr, long) 関数内でスリープしなくなります。 ( ReadFile(long, IntPtr, long) 関数内でコピー処理を行います。)

    注意: 上限値を大きく設定した状態で巨大なファイルをロードすると、 Load(CriFsBinder, ArgString, long, long, Span<byte>) 関数等で長時間処理がブロックされる恐れがあります。 閾値の判定はロード要求サイズに対して行っています。 そのため、実際にコピーできるサイズが指定されたリミット以下のサイズであっても、 Load(CriFsBinder, ArgString, long, long, Span<byte>) 関数や ReadFile(long, IntPtr, long) 関数に指定したロード要求サイズがリミットを超えている場合、別スレッドで処理されます。

    See Also
    AddressToPath(IntPtr, long, Span<byte>)

    SetMemoryFileSystemThreadAffinityMaskPC(IntPtr)

    LE Pro

    メモリファイルシステムスレッドのアフィニティマスク設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetMemoryFileSystemThreadAffinityMaskPC(IntPtr mask)
    CriError CRIAPI criFs_SetMemoryFileSystemThreadAffinityMask_PC(DWORD_PTR mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: メモリファイルシステムスレッドのアフィニティマスクを設定します。 引数 mask には Win32 API のスレッドアフィニティマスク( SetThreadAffinityMask 関数の引数)を指定します。 デフォルト状態ではアフィニティマスクは設定されていません。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetMemoryFileSystemThreadPriorityANDROID(int)

    LE Pro

    メモリファイルシステムスレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetMemoryFileSystemThreadPriorityANDROID(int prio)
    CriError CRIAPI criFs_SetMemoryFileSystemThreadPriority_ANDROID(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: メモリファイルシステムスレッドのプライオリティを設定します。 プライオリティはナイス値で指定してください。範囲は-20(最高)から19(最低)です。 アプリケーションのメインスレッドよりも高いプライオリティを指定してください。 プライオリティのデフォルト値は 7 です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetMemoryFileSystemThreadPriorityPC(int)

    LE Pro

    メモリファイルシステムスレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetMemoryFileSystemThreadPriorityPC(int prio)
    CriError CRIAPI criFs_SetMemoryFileSystemThreadPriority_PC(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: メモリファイルシステムスレッドのプライオリティを設定します。 引数 prio には Win32 API のスレッド優先レベル( SetThreadPriority 関数の引数)を指定します。 アプリケーションのメインスレッドよりも低いプライオリティを指定してください。 プライオリティのデフォルト値は THREAD_PRIORITY_LOWEST です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。)

    SetOpenRetryMode(OpenRetryMode)

    Pro

    ファイルオープンエラー発生時のリトライ方法の設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetOpenRetryMode(CriFs.OpenRetryMode mode)
    CriError CRIAPI criFs_SetOpenRetryMode(CriFsOpenRetryMode mode)
    Parameters
    Type Name Description
    CriFs.OpenRetryMode mode

    リトライ方法

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ファイルのオープンに失敗した場合に、CRI File Systemライブラリ内でオープンのリトライを行なうかどうかを指定します。 リトライ方法に Infinite を指定した場合、ファイルがオープンできるまでCRI File Systemライブラリはオープン処理をリトライし続けます。 None を指定した場合、CRI File Systemライブラリはリトライ処理を行なわず、オブジェクトのステータスをエラー状態に遷移します。

    SetReadDeviceEnabled(DeviceId, NativeBool)

    Pro
    Declaration
    • C#
    • C
    public static CriErr.Error SetReadDeviceEnabled(CriFs.DeviceId id, NativeBool enabled)
    CriError CRIAPI criFs_SetReadDeviceEnabled(CriFsDeviceId id, CriBool enabled)
    Parameters
    Type Name Description
    CriFs.DeviceId id

    デバイスID

    NativeBool enabled

    デバイスを作成するか否か

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: リードデバイスの有効・無効の切り替えを行います。アプリケーション側で使用しないデバイスがある場合は本関数で無効にしてください デフォルトでは、すべてのデバイスが Enabled の状態です。 本関数で不要なデバイスを作成しないようにすることで、ファイルシステムスレッドの動作を減らすことができます。 DeviceDefault と DeviceMemory 以外にも、プラットフォームによっては固有のデバイスが作成されます。 第一引数には _00 ~ _07 の範囲の値を指定してください。 プラットフォーム固有のヘッダーファイルに記載されたデバイスIDと当該デバイスで扱うことのできるファイルパスを確認の上、本関数をご利用ください。 本関数でデバイスを無効にした結果、どのデバイスも作成されない場合、ライブラリ初期化時にエラーコールバックが発生します。

    本関数はInitializeLibrary(in Config) 関数よりも前に呼び出してください。

    See Also
    CriFs.DeviceId

    SetReadRetryMode(ReadRetryMode)

    Pro

    ファイルリードエラー発生時のリトライ方法の設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetReadRetryMode(CriFs.ReadRetryMode mode)
    CriError CRIAPI criFs_SetReadRetryMode(CriFsReadRetryMode mode)
    Parameters
    Type Name Description
    CriFs.ReadRetryMode mode

    リトライ方法

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード ファイルのリードに失敗した場合に、CRI File Systemライブラリ内でリードのリトライを行なうかどうかを指定します。 リトライ方法に Infinite を指定した場合、ファイルがリードできるまでCRI File Systemライブラリはリード処理をリトライし続けます。 None を指定した場合、CRI File Systemライブラリはリトライ処理を行なわず、オブジェクトのステータスをエラー状態に遷移します。

    Remarks

    SetSelectIoCallback(delegate* unmanaged[Cdecl]<NativeString, DeviceId*, NativeReference<IoInterface>*, Error>)

    LE Pro

    I/O選択コールバックの登録

    Declaration
    • C#
    • C
    public static CriErr.Error SetSelectIoCallback(delegate* unmanaged[Cdecl]<NativeString, CriFs.DeviceId*, NativeReference<CriFs.IoInterface>*, CriErr.Error> func)
    CriError CRIAPI criFs_SetSelectIoCallback(CriFsSelectIoCbFunc func)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<NativeString, DeviceId*, NativeReference<IoInterface>*, Error> func

    I/O選択コールバック

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: I/O選択コールバック関数( CriFs.SelectIoCbFunc )を登録します。 CRI File Systemライブラリはファイルにアクセスする際、まず初めに、そのファイルが存在するデバイスのID( CriFs.DeviceId )と、 デバイスにアクセスするためのI/Oインターフェイス( CriFs.IoInterface )を選択します。 デフォルト状態では、デバイスIDとI/Oインターフェイスの選択はライブラリ内で暗黙的に行なわれますが、 本関数を使用することで、デバイスIDとI/Oインターフェイスをユーザーが自由に指定することが可能になります。 これにより、ユーザーが独自に作成したI/Oインターフェイスを使用してファイルにアクセスすることが可能になります。

    注意: コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定するとことで登録済み関数の登録解除が行えます。

    See Also
    CriFs.SelectIoCbFunc
    GetDefaultIoInterface(out NativeReference<IoInterface>)

    SetServerThreadAffinityMaskPC(IntPtr)

    LE Pro

    サーバー処理スレッドのアフィニティマスク設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetServerThreadAffinityMaskPC(IntPtr mask)
    CriError CRIAPI criFs_SetServerThreadAffinityMask_PC(DWORD_PTR mask)
    Parameters
    Type Name Description
    IntPtr mask

    アフィニティマスク

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: サーバー処理(ライブラリの内部処理)を行うスレッドのアフィニティマスクを設定します。 引数 mask には Win32 API のスレッドアフィニティマスク( SetThreadAffinityMask 関数の引数)を指定します。 デフォルト状態ではアフィニティマスクは設定されていません。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。) サーバー処理スレッドは、CRI Atomライブラリで使用しているものと同じです(共用しています)。 すでにCRI AtomライブラリのAPIでサーバー処理スレッドの設定を変更している場合、 本関数を呼び出すと設定を上書きしてしまうのでご注意ください。

    SetServerThreadPriorityPC(int)

    LE Pro

    サーバー処理スレッドのプライオリティ設定

    Declaration
    • C#
    • C
    public static CriErr.Error SetServerThreadPriorityPC(int prio)
    CriError CRIAPI criFs_SetServerThreadPriority_PC(int prio)
    Parameters
    Type Name Description
    int prio

    スレッドのプライオリティ

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: サーバー処理(ライブラリの内部処理)を行うスレッドのプライオリティを設定します。 引数 prio には Win32 API のスレッド優先レベル( SetThreadPriority 関数の引数)を指定します。 アプリケーションのメインスレッドよりも高いプライオリティを指定してください。 プライオリティのデフォルト値は THREAD_PRIORITY_HIGHEST です。

    注意: : 本関数は、ライブラリ初期化時にスレッドモデルをマルチスレッドモデル ( Multi )に設定した場合にのみ効果を発揮します。 他のスレッドモデルを選択した場合、本関数は何も処理を行いません。 (エラーコールバックが発生します。) 本関数は初期化後~終了処理前の間に実行する必要があります。 初期化前や終了処理後に本関数を実行しても、効果はありません。 (エラーコールバックが発生します。) サーバー処理スレッドは、CRI Atomライブラリで使用しているものと同じです(共用しています)。 すでにCRI AtomライブラリのAPIでサーバー処理スレッドの設定を変更している場合、 本関数を呼び出すと設定を上書きしてしまうのでご注意ください。

    SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)

    Pro

    ユーザーアロケーターの登録

    Declaration
    • C#
    • C
    public static void SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr> pMallocFunc, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> pFreeFunc, IntPtr pObj)
    void criFs_SetUserAllocator_(CriFsMallocFunc p_malloc_func, CriFsFreeFunc p_free_func, void *p_obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr> pMallocFunc

    メモリ確保関数

    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> pFreeFunc

    メモリ解放関数

    IntPtr pObj

    ユーザー指定オブジェクト

    Remarks

    説明: CRI File Systemライブラリにメモリアロケーター(メモリの確保/解放関数)を登録します。 CRI File Systemライブラリ内がライブラリ内で行なうメモリ解放処理を、 ユーザー独自のメモリ解放処理に置き換えたい場合に使用します。

    SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)

    LE Pro

    メモリ解放関数の登録

    Declaration
    • C#
    • C
    public static void SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func, IntPtr obj)
    void CRIAPI criFs_SetUserFreeFunction(CriFsFreeFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func

    メモリ解放関数

    IntPtr obj

    ユーザー指定オブジェクト

    Remarks

    説明: CRI File Systemライブラリにメモリ解放関数を登録します。 CRI File Systemライブラリ内がライブラリ内で行なうメモリ解放処理を、 ユーザー独自のメモリ解放処理に置き換えたい場合に使用します。 本関数の使用手順は以下のとおりです。 (1) CriFs.FreeFunc インターフェイスに副ったメモリ解放関数を用意する。 (2) SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を使用し、CRI File Systemライブラリに対して メモリ解放関数を登録する。 具体的なコードの例は以下のとおりです。

    備考: 引数の obj に指定した値は、 CriFs.FreeFunc に引数として渡されます。 メモリ確保時にメモリマネージャー等を参照する必要がある場合には、 当該オブジェクトを本関数の引数にセットしておき、コールバック関数で引数を経由 して参照してください。

    注意: メモリ解放関数を登録する際には、合わせてメモリ確保関数( CriFs.MallocFunc )を 登録する必要があります。

    See Also
    CriFs.FreeFunc
    SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr)

    SetUserLogOutputFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)

    Pro

    ユーザー定義ログ出力関数の登録

    Declaration
    • C#
    • C
    public static CriErr.Error SetUserLogOutputFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func, IntPtr obj)
    CriError CRIAPI criFs_SetUserLogOutputFunction(CriFsLogOutputFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func

    ログ出力関数

    IntPtr obj

    ログ出力関数に渡すオブジェクト

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: ログの出力関数をユーザー指定の関数に置き換えます。 本関数を使用することで、ファイルアクセスログの出力方法をユーザーが自由に カスタマイズすることが可能です。

    備考: 本関数を使用していない場合や、ログ出力関数(func)にnullを指定した場合、 CRI File Systemライブラリのデフォルトログ出力関数が使用されます。

    SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr)

    LE Pro

    メモリ確保関数の登録

    Declaration
    • C#
    • C
    public static void SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr> func, IntPtr obj)
    void CRIAPI criFs_SetUserMallocFunction(CriFsMallocFunc func, void *obj)
    Parameters
    Type Name Description
    delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr> func

    メモリ確保関数

    IntPtr obj

    ユーザー指定オブジェクト

    Remarks

    説明: CRI File Systemライブラリにメモリ確保関数を登録します。 CRI File Systemライブラリ内がライブラリ内で行なうメモリ確保処理を、 ユーザー独自のメモリ確保処理に置き換えたい場合に使用します。 本関数の使用手順は以下のとおりです。 (1) CriFs.MallocFunc インターフェイスに副ったメモリ確保関数を用意する。 (2) SetUserMallocFunction(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, IntPtr) 関数を使用し、CRI File Systemライブラリに対して メモリ確保関数を登録する。 具体的なコードの例は以下のとおりです。

    備考: 引数の obj に指定した値は、 CriFs.MallocFunc に引数として渡されます。 メモリ確保時にメモリマネージャー等を参照する必要がある場合には、 当該オブジェクトを本関数の引数にセットしておき、コールバック関数で引数を経由 して参照してください。

    注意: メモリ確保関数を登録する際には、合わせてメモリ解放関数( CriFs.FreeFunc )を 登録する必要があります。

    See Also
    CriFs.MallocFunc
    SetUserFreeFunction(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)

    SwitchPathUnicodeToUtf8PC(NativeBool)

    LE Pro

    パスの文字エンコーディングタイプを Unicode から UTF-8 に切り替え

    Declaration
    • C#
    • C
    public static CriErr.Error SwitchPathUnicodeToUtf8PC(NativeBool sw)
    CriError CRIAPI criFs_SwitchPathUnicodeToUtf8_PC(CriBool sw)
    Parameters
    Type Name Description
    NativeBool sw

    文字列エンコーディングタイプを UTF-8 にするかどうか

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: アプリケーションからUTF-8のファイルパスを指定したい場合、本関数をご利用ください。 デフォルトでは、ファイルパス文字列をマルチバイト文字セットとして取り扱います。(CreateFileAを使用) そのため、実際にシステムが解釈する文字エンコーディングはシステムロケールに依存します。 本関数を使用すると、ファイルパスをUnicodeとして取り扱うように変更することができます。(CreateFileWを使用) 引数に true を指定して実行すると、ファイルパスはUTF-8としてみなし、ライブラリ内部でUTF-16に変換してファイルオープンを行います。

    In this article
    Back to top Generated by DocFX