【发布时间】:2021-04-06 12:19:53
【问题描述】:
我在一个管理可移动设备的 UWP 应用程序上工作。所以,我确保在清单中有这个。
<Capabilities>
<uap:Capability Name="removableStorage"/>
</Capabilities>
我需要获取设备的可用空间和总空间。所以,我像这样使用 DriveInfo。
DriveInfo z = new DriveInfo(@"E:\");
long x = z.TotalFreeSpace;
当他尝试获取可用空间并将其分配给 x 时,会出现以下异常:
System.UnauthorizedAccessException : 'Access to the path 'E:\' is denied.'
如您所见,该驱动器实际上是一个可移动驱动器。
一旦检测到并添加了驱动器,我需要的过程就会发生。因此,这发生在 DeviceWatcher 的已添加事件中。我在监视窗口中看到设备未准备好IsReady=false。也许我太早尝试访问它?该事件是“添加”,而不是“添加”,UnauthorizedAccessException 不是应该发生的事件。我想DeviceNotReadyException 会更合适。所以,我的结论是问题与它没有准备好无关。
【问题讨论】:
-
查看daniel-krzyczkowski.github.io/…这可能有助于解决您的问题
-
是的,我已经看到了广泛的文件系统访问能力,但我需要向 Microsoft 证明这个选择是正确的,这是我无法做到的。所以,无论如何,谢谢。