Windows API の GetDiskFreeSpaceEx について MSDN で調べると、 If per-user quotas are being used, this value may be less than the total number of free bytes on a disk.
とあることから、この関数はディスク クォータに対応していると考えられます。
しかし、Windows 2003 R2 から導入された File Server Resource Manager を利用して設定したクォータによって制限された容量は、この関数では取得できない(GetDiskFreeSpaceEx は FSRM に対応していない)という情報を耳にしました。
当方、2003 R2 または 2008 の環境がないため、試すことができません。
どなたか、この情報は本当なのか、もし本当であれば、それは仕様として Microsoft からドキュメント化されているか、また、回避策はあるのか等、ご存知でしたら教えてください。
MSDN には FSRM の API がドキュメント化されていますが、The FSRM API is available starting with Windows Server 2008.
と書かれています。これは本当なのでしょうか? 2003 R2 の FSRM の情報を取得する API は無いということでしょうか?
また、このような透過的でないクォータ サービスが存在しうるということは、第2、第3の FSRM(Microsoft 製でないものも含む)があり得るということですので、由々しき事態だと思います。
もし本当ならば、これは Microsoft に改善してもらわねばならないと思うのですが、そういったフィードバックはどこに提出すればよいのでしょうか?