0

OOB アプリに取り組んでいます。

dynamic fileSystem = AutomationFactory.CreateObject("Scripting.FileSystemObject");
dynamic drives = fileSystem.Drives;

foreach (var drive in drives)
{
DriveCollection.Add(new Drive{
                    VolumeName = drive.VolumeName,
                    DriveLetter = drive.DriveLetter,
                    TotalSpace = drive.TotalSize,
                    FreeSpace = drive.FreeSpace
                    });
listBox.Items.Add(string.Format("{0}  {1}", drive.DriveLetter, drive.VolumeName));
}

デバッガーで実行すると、「C」ドライブが列挙され、例外がスローされます。

"HRESULT からの例外: 0x800A0047"
デスクトップからアプリを実行すると、例外がスローされる前にドライブが列挙されません。

この例外から保護する方法に関するヒントはありますか? ドライブコンストラクターで参照する前に、「ドライブ」オブジェクトの有効性を何らかの方法でチェックしていますか?

4

0 に答える 0