CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriFsStdio

    Inheritance
    object
    CriFsStdio
    Implements
    IDisposable
    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 class CriFsStdio : IDisposable

    Properties

    NativeHandle

    ネイティブハンドル

    Declaration
    public NativeHandleIntPtr NativeHandle { get; }
    Property Value
    Type Description
    NativeHandleIntPtr

    Methods

    Dispose()

    LE Pro

    ANSI C に準じたファイルクローズ

    Declaration
    • C#
    • C
    public void Dispose()
    CriError CRIAPI criFsStdio_CloseFile(CriFsStdioHn stdhn)
    Remarks

    説明: 指定したファイルをクローズします。 第一引数には、クローズしたいファイルのCriFsStdioオブジェクトを指定します。

    See Also
    OpenFile(CriFsBinder, IntPtr, IntPtr)

    GetFileSize()

    LE Pro

    ANSI C に準じたAPIに基づくファイルサイズ取得

    Declaration
    • C#
    • C
    public long GetFileSize()
    CriSint64 CRIAPI criFsStdio_GetFileSize(CriFsStdioHn stdhn)
    Returns
    Type Description
    long

    CriSint64 指定したオブジェクトが有効であれば、ファイルサイズを返します。

    Remarks

    説明: 指定したファイルのサイズを取得します。 第一引数には、サイズを取得したいファイルのCriFsStdioオブジェクトを指定します。

    OpenFile(CriFsBinder, IntPtr, IntPtr)

    LE Pro

    ANSI C に準じたファイルオープン

    Declaration
    • C#
    • C
    public static CriFsStdio OpenFile(CriFsBinder bndr, IntPtr fname, IntPtr mode)
    CriFsStdioHn CRIAPI criFsStdio_OpenFile(CriFsBinderHn bndr, const char *fname, const char *mode)
    Parameters
    Type Name Description
    CriFsBinder bndr

    オープンしたいファイルがバインドされているCriFsBinderのハンドル

    IntPtr fname

    オープンしたいファイルパス

    IntPtr mode

    オープンモード ("r":読み込み専用モード,"w":書き込み専用モード)

    Returns
    Type Description
    CriFsStdio

    CriFsStdio 成功した場合、有効なCriFsStdioオブジェクトを返します。 失敗した場合はnullを返します。

    Remarks

    説明: 指定されたファイルをオープンします。 第一引数には、オープンしたいファイルがバインドされているバインダーを指定します。 プラットフォーム標準のファイルパスからファイルをオープンしたい場合、第一引数にはnullを指定します。 第二引数には、オープンしたいファイルパスを文字列で指定します。 第三引数は、オープンのモードです。"r"を指定すると読み込み専用モード、 "w"を指定すると書き込み専用モードでファイルをオープンします。 書き込み専用モードは、ファイル書き込みをサポートしているプラットフォームでのみ正常に動作し、 未サポートのプラットフォームではエラーコールバックが発生し、オープンは失敗します。

    備考: ファイルの書き込みは以下のルールで行われます。

    • 指定したファイルが存在しない場合、新規にファイルを作成。
    • 指定したファイルが既に存在する場合、既存ファイルを編集します。 (既存ファイルが削除されることはありません。) 既存ファイルを削除して新規にファイルの書き込みを行いたい場合には、 本関数を実行する前に RemoveFile(CriFsBinder, ArgString, out RemoveResult) 関数でファイルの削除を行ってください。
    See Also
    Dispose()
    RemoveFile(CriFsBinder, ArgString, out RemoveResult)

    ReadFile(long, IntPtr, long)

    LE Pro

    ANSI C に準じたAPIに基づくファイルからのデータ読込

    Declaration
    • C#
    • C
    public long ReadFile(long rsize, IntPtr buf, long bsize)
    CriSint64 CRIAPI criFsStdio_ReadFile(CriFsStdioHn stdhn, CriSint64 rsize, void *buf, CriSint64 bsize)
    Parameters
    Type Name Description
    long rsize

    読込要求サイズ(byte)

    IntPtr buf

    読込先バッファー

    long bsize

    読込先バッファーのサイズ(byte)

    Returns
    Type Description
    long

    CriSint64 読込成功 読み込めたサイズ(byte) 読込失敗 -1

    Remarks

    説明: ファイルからデータを指定サイズ(byte)分読み込みます。 第一引数には、データの読込元であるファイルのCriFsStdioオブジェクトを指定します。 第二引数には、読み込むサイズを指定します。 第三引数には、読み込んだデータの書き込み先バッファーを指定します。 第四引数には、読み込んだデータの書き込み先バッファーサイズを指定します。

    注意: 戻り値は、常に読込要求サイズ以下になることに注意してください。 例えばファイル終端では、戻り値が読込要求サイズより小さくなることがありますが、 読込に失敗しているわけではありません。読込に失敗した場合、-1を返します。

    RemoveFile(CriFsBinder, ArgString, out RemoveResult)

    Pro

    ファイルの削除

    Declaration
    • C#
    • C
    public static CriErr.Error RemoveFile(CriFsBinder binder, ArgString path, out CriFsStdio.RemoveResult result)
    CriError CRIAPI criFsStdio_RemoveFile(CriFsBinderHn binder, const CriChar8 *path, CriFsStdioRemoveResult *result)
    Parameters
    Type Name Description
    CriFsBinder binder

    削除したいファイルがバインドされているCriFsBinderのハンドル

    ArgString path

    削除するファイルのパス

    CriFsStdio.RemoveResult result

    削除結果

    Returns
    Type Description
    CriErr.Error

    CriErr.Error エラーコード

    Remarks

    説明: 指定したファイルを削除します。 ファイルの削除に成功した場合、出力値( result )に FileRemoved がセットされます。 指定したファイルが存在しない場合や、読み込み専用ファイルを削除しようとした場合、 ファイルの削除に失敗し、出力値( result )に IoErrorOccurrd がセットされます。 本関数は、ファイル書き込みをサポートしているプラットフォームにおいてのみ使用することができます。

    備考: 指定した引数が不正な場合や、ファイル削除用のオブジェクトが確保できない場合、 出力値( result )に NotExecuted がセットされ、 関数の戻り値がエラー値( Ok 以外の値)になります。

    SeekFile(long, SEEKTYPE)

    LE Pro

    ANSI C に準じた ファイルリードオフセットのシーク

    Declaration
    • C#
    • C
    public long SeekFile(long offset, CriFsStdio.SEEKTYPE seekType)
    CriSint64 CRIAPI criFsStdio_SeekFile(CriFsStdioHn rdr, CriSint64 offset, CRIFSSTDIO_SEEK_TYPE seek_type)
    Parameters
    Type Name Description
    long offset

    シークのオフセット(byte)

    CriFsStdio.SEEKTYPE seekType

    シーク開始位置の指定

    Returns
    Type Description
    long

    CriSint64 成功 0 失敗 -1

    Remarks

    説明: 指定したファイルのリードオフセットをシークします。 第一引数には、リードオフセットをシークしたいファイルの、CriFsStdioオブジェクトを指定します。 第二引数には、シークのオフセットを指定します。単位はbyteです。

    注意: ファイル先頭より手前にシークすることは出来ません。ファイルリードオフセットがファイル先頭より 手前になるようシークオフセットを指定した場合、シーク結果のファイルリードオフセットはファイル先頭になります。 一方、ファイル終端を超えたシークは可能です。 また、指定のCriFsStdioオブジェクトが中間バッファーを持つ場合、 本関数で中間バッファーの有効範囲外にシークすると、中間バッファーの内容が破棄されます。

    See Also
    TellFileOffset()
    SetInterstageBuffer(in byte, uint)

    SetInterstageBuffer(in byte, uint)

    Pro

    ANSI C に準じたAPIに基づくファイル読込用中間バッファーの設定

    Declaration
    • C#
    • C
    public long SetInterstageBuffer(in byte tempBuffer, uint tempBufferSize)
    CriSint64 CRIAPI criFsStdio_SetInterstageBuffer(CriFsStdioHn stdhn, CriUint8 *temp_buffer, CriUint32 temp_buffer_size)
    Parameters
    Type Name Description
    byte tempBuffer

    中間バッファーの先頭アドレス

    uint tempBufferSize

    中間バッファーのサイズ(byte)

    Returns
    Type Description
    long

    CriSint64 中間バッファー設定後のファイル読込位置

    Remarks

    説明: 指定したファイルを読み込む際の中間バッファーを設定します。 第一引数には、中間バッファーを設定したいCriFsStdioオブジェクトを指定します。 第二引数には、中間バッファーとして利用するメモリ領域の先頭アドレスを指定します。 nullを指定した場合、中間バッファーを使いません。 第三引数には、中間バッファーのサイズを指定します。単位はbyteです。 0を指定した場合、第二引数に有効なアドレスを指定していても、中間バッファーを使いません。

    注意: OpenFile(CriFsBinder, IntPtr, IntPtr)()で得られたファイルオブジェクトは、デフォルトでは中間バッファーを持ちません。 中間バッファーが必要な場合、本関数で設定する必要があります。 中間バッファーを設定すると、最大で temp_buffer_size 分のデータをファイルから 中間バッファーへ読み込むようになります。 中間バッファー内にデータがある限り、 ReadFile(long, IntPtr, long)()によるファイル読込はメモリコピーになるため、 連続して細かいファイル読込を行う場合 物理的なファイルアクセスの発生頻度を抑えることができます。 ただし、SeekFile(long, SEEKTYPE)()で中間バッファーの有効範囲外にシークすると、 中間バッファーの内容が破棄されます。

    See Also
    TellFileOffset()
    SeekFile(long, SEEKTYPE)
    OpenFile(CriFsBinder, IntPtr, IntPtr)
    ReadFile(long, IntPtr, long)

    SetReadPriority(Priority)

    Pro

    CriFsStdioハンドルのファイル読み込みプライオリティを変更

    Declaration
    • C#
    • C
    public CriErr.Error SetReadPriority(CriFsLoader.Priority prio)
    CriError CRIAPI criFsStdio_SetReadPriority(CriFsStdioHn stdhn, CriFsLoaderPriority prio)
    Parameters
    Type Name Description
    CriFsLoader.Priority prio

    変更したいプライオリティの値

    Returns
    Type Description
    CriErr.Error

    CriErr.Error Ok 成功 その他 失敗

    Remarks

    説明: ReadFile(long, IntPtr, long)()を使ったファイル読み込み優先度を、CriFsStdioオブジェクト毎に設定します。

    TellFileOffset()

    Pro

    ANSI C に準じたファイルリードオフセットの取得

    Declaration
    • C#
    • C
    public long TellFileOffset()
    CriSint64 CRIAPI criFsStdio_TellFileOffset(CriFsStdioHn stdhn)
    Returns
    Type Description
    long

    CriSint64 指定したオブジェクトが有効であれば、リードオフセット(byte)を返します。

    Remarks

    説明: 指定したファイルの読込位置を取得します。 第一引数には、読込位置を取得したいファイルの、CriFsStdioオブジェクトを指定します。

    See Also
    SeekFile(long, SEEKTYPE)

    WriteFile(long, IntPtr, long)

    Pro

    ANSI C に準じたAPIに基づくデータのファイル書込

    Declaration
    • C#
    • C
    public long WriteFile(long rsize, IntPtr buf, long bsize)
    CriSint64 CRIAPI criFsStdio_WriteFile(CriFsStdioHn stdhn, CriSint64 rsize, void *buf, CriSint64 bsize)
    Parameters
    Type Name Description
    long rsize

    書込要求サイズ(byte)

    IntPtr buf

    書込元バッファー

    long bsize

    書込元バッファーのサイズ(byte)

    Returns
    Type Description
    long

    CriSint64 書込成功 書き込めたサイズ(byte) 書込失敗 -1

    Remarks

    説明: ファイルからデータを指定サイズ(byte)分読み込みます。 第一引数には、データの書込先であるファイルのCriFsStdioオブジェクトを指定します。 第二引数には、書き込むサイズを指定します。 第三引数には、書込元となるデータのバッファーを指定します。 第四引数には、書込元となるデータのバッファーサイズを指定します。

    注意: 戻り値は、書込に成功したサイズ(byte)です。 書込に失敗した場合、-1を返します。 本関数は、ファイル書き込みをサポートしているプラットフォームにおいてのみ使用することができます。 ファイル書き込みをサポートしていないプラットフォームで本関数を呼び出すと、 リンク時にシンボルが見つからず、ビルドエラーになります。

    Implements

    IDisposable
    In this article
    Back to top Generated by DocFX