|
![]() ![]() ![]() ![]() ![]() | |
WindowsのGetDiskFreeSpaceEx() APIで返される空容量は「lpFreeBytesAvailable」「lpTotalNumberOfFreeBytes」の2つがあります。 前者はクォータ制限されている空容量、後者はリアルな空容量が格納されるわけですが、「lpTotalNumberOfBytes」で示される全体容量については、クォータ制限されている中での全体容量が示されるのであって、リアルな全体容量が示されるわけではないみたいなんですね。まぁ、このメンバ変数名をよくみたら、確かにそう思えてきますね。 さて、この関数から得られた値を使って、「空容量/全容量」を出力したいとき、「lpTotalNumberOfFreeBytes/lpTotalNumberOfBytes」としてしまうと、わけわからん表示になることがあるみたいです。ドライブを実現するソフトウェアの実現方法にもよるみたいですが、一部のネットワークドライブ機器からは、空容量より全容量の方が小さいみたいな結果が出てくることもあるわけで。 そんなわけで、「lpFreeBytesAvailable/lpTotalNumberOfBytes」と表示するのが正しいと言えます。 で、残念ながら、CCPU(いじくるつくーる他、様々なソフトで使っている、環境情報を表示するためのライブラリ)では、間違った表示方になっています。 まぁ致命的な不具合というわけではないし、頃合いを見て(あるいは、何かのついでの時にでも)修正をしようかと思っています。 ちょうど昨日書いたとおり、他の .NET Framework 系のソフトでも、ドキュメントやヘルプ記述の修正を入れたいと思っていたので、どこかのタイミングで、一斉あるいは順番に、更新をしていくのがいいかなと考えています。 目次の表示: ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメール、フィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。 当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。 |
- 最近の更新 - |
|
3278846 (+0100)[+0255] Copyright© 2010-2025 INASOFT |