質問: string.Format("{0:f1} GB/{1:f1} GB", drive.TotalFreeSpace/1024 / 1024 / 1024, drive.TotalSize / 1024 / 1024 / 1024); // 以下略 } ``` これを1秒おきに実行した際 1. どのようにして情報が取得されるのか(ディスクに都度アクセスするのか) 2. アクセスするとした場合、寿命に影響があるのか 3. 実際にどのようにして値を取得しているかを調べる方法があるのか 4. 1秒おきに取得する方法以外の手段はあるのか 5. このコードの問題点があれば教えてください
回答: > > 実際にどのようにして値を取得しているかを調べる方法があるのか > > > System.IO.DriveInfoの実装については、driveinfo.csでわかります。 `TotalFreeSpace`や`TotalSize`はWindows APIのGetDiskFreeSpaceExを仕様しているようです。 `GetDiskFreeSpaceEx`がどのように情報を取得しているかは、APIのドキュメントからはわかりませんでした。詳細は Microsoftのサポートに問いあわせると回答が得れるかもしれません。