トップページ > 記事閲覧
【仕様提案】FileRead_readのサイズ指定引数の64bit化
名前:was-blue.0793 日時: 2025/08/25 22:42

いつもお世話になっております。 表題の件につきまして、現在「FileRead_read」関数の引数「ReadSize」の引数はint型になっています。 この仕様では、1回の読み出しで2GiBのデータまでしか読み取れません。 一部のFileRead系の引数や戻り値がLONGLONG型になっている部分もありますので、ReadSizeの引数をそれらに合わせる形でLONGLONG型にすることはできますか? それではよろしくお願いします。
メンテ

Page: 1 |

Re: 【仕様提案】FileRead_readのサイズ指定引数の64bit化 ( No.1 )
名前:管理人 日時:2025/08/26 02:01

一度に2GiB以上読み込もうとされるとなりますと、ファイルの内容を全部メモリに読み込もうとされている感じでしょうか? もしそうでしたら、関数リファレンスには載っていませんが FileRead_fullyLoad系の関数が 2GiB以上に対応しています // 指定のファイルの内容を全てメモリに読み込み、その情報のアクセスに必要なハンドルを返す // ( 戻り値 -1:エラー -1以外:ハンドル )、使い終わったらハンドルは FileRead_fullyLoad_delete で削除する必要があります int FileRead_fullyLoad( char *FilePath ) ; // FileRead_fullyLoad で読み込んだファイルのハンドルを削除する int FileRead_fullyLoad_delete( int FLoadHandle ) ; // FileRead_fullyLoad で読み込んだファイルの内容を格納したメモリアドレスを取得する const void *FileRead_fullyLoad_getImage( int FLoadHandle ) ; // FileRead_fullyLoad で読み込んだファイルのサイズを取得する LONGLONG FileRead_fullyLoad_getSize( int FLoadHandle ) ; まず最初に FileRead_fullyLoad でファイルをメモリに丸ごと読み込み、そのファイルのFileRead_fullyLoadハンドルを取得します そしてメモリに読み込まれたファイルのデータは FileRead_fullyLoad_getImage で取得することができます ( ファイルのサイズは FileRead_fullyLoad_getSize で取得できます ) 使用が終わりデータが不要になったら FileRead_fullyLoad_delete でFileRead_fullyLoadハンドルを削除します ↑ こちらの関数群で代用することはできないでしょうか?
メンテ
Re: 【仕様提案】FileRead_readのサイズ指定引数の64bit化 ( No.2 )
名前:was-blue.0793 日時:2025/08/31 23:26

>> 管理人さん ご回答ありがとうございます。 これら関数群を使用することによりデータを一気に読み取ることができました。 これら関数群についてですが、SetUseAsyncLoadFlag関数を用いた非同期読み込みに対応できますか?(リファレンスでは対応関数リストに名前がありませんでした) それではよろしくお願いします。
メンテ
Re: 【仕様提案】FileRead_readのサイズ指定引数の64bit化 ( No.3 )
名前:管理人 日時:2025/09/02 01:22

> これら関数群についてですが、SetUseAsyncLoadFlag関数を用いた非同期読み込みに対応できますか?(リファレンスでは対応関数リストに名前がありませんでした) FileRead_fullyLoad のみ対応しています( リファレンスの対応関数リストにも追加しておきました )
メンテ
Re: 【仕様提案】FileRead_readのサイズ指定引数の64bit化 ( No.4 )
名前:was-blue.0793(解決済) 日時:2025/09/07 19:20

>> 管理人さん ご対応ありがとうございます。 望む動作にすることができたのでこちらは解決済みとさせていただきます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存