2009-06-04 8 views
0

Windows Mobileデバイスで一度に開くことができるファイルハンドルの最大数を確認するにはどうすればよいですか?Windows Mobileでファイルハンドル制限を開く

私はWindows Mobile ProffesionalエミュレータでネイティブC++アプリケーションを実行していますが、39個のオープンファイルハンドル(奇妙な数字がわかります)の制限があるようです。エラーコード5 ERROR_ACCESS_DENIED)。

私は以下の質問に対する回答を見つけることができませんでした: 1)オープンファイルハンドルの制限はどのくらいですか、デバイス/プラットフォームごとにこの制限を見つける方法は?

2)エラーコード4(ERROR_TOO_MANY_OPEN_FILES)ではなく、エラーコード5(ERROR_ACCESS_DENIED)が返されるのはなぜですか。

3)なぜ39ですか?私は〜50まで必要とするかもしれないプログラムを書くことを試みているので、それはprohibitivly小さいです。

+1

なぜ同時に多くのファイルを開く必要がありますか?確かに、必要な情報をファイルから読み込んで閉じることができます(たとえば、変更を保存するために必要なときに再度開く)。 Windows Mobileデバイスにはメモリが限られているため、アプリケーションの設計時に注意する必要があります。ユーザーは、他のアプリケーションを知らないうちに同時に実行している可能性があり、デバイスやアプリケーションの速度が低下する可能性があります。 –

+0

あなたの権利は、アプリケーションを再設計するのが最善の方法ですが、問題を見た後は、デバイスの限界を知りたいと思っていました。 – Akusete

答えて

3

ハンドル数は、使用可能なメモリによって制限されます。 ERROR_ACCESS_DENIEDエラーは、ファイルシステムドライバが、要求したファイルを作成できないことがわかり、根底にある原因を認識していないことを示します。 ERROR_TOO_MANY_OPEN_FILESが返されるとは言えません。

+0

それはメモリの制限であるかどうか分からないので、それは何もしていませんが、それはいくつかの任意のシステムの制限であるようです。 回避策として、ファイルハンドルを開くためのシンプルなスケジューラを実装する必要がありました。これは、エレガントで完全なソリューションではありませんが、他にatmはありません。 – Akusete

関連する問題