如何在WP 8.1 RT中获得磁盘总容量?

时间:2016-06-25 00:39:23

标签: c# windows-phone-8.1

我希望在Windows Phone 8.1 RT项目中获得光盘的容量。

我了解到我需要使用此功能( p-invoking GetFileInformationByHandleEx )。

但我找不到任何使用示例。有人可以通过一个例子来帮助我吗?

我试过以下:

1

private async Task<UInt64> GetCapacity(StorageFolder folder)
        {
            var retrivedProperties = await folder.Properties.RetrievePropertiesAsync(new string[] { "System.Capacity" });
            return (UInt64)retrivedProperties["System.Capacity"];
        }

2

[DllImport("api-ms-win-core-file-l1-2-0.dll", CharSet = CharSet.Unicode, EntryPoint ="GetDiskFreeSpaceEx", SetLastError = true)]
        static extern bool GetDiskFreeSpaceEx(string lpDirectoryName,
                                      out ulong lpFreeBytesAvailable,
                                      out ulong lpTotalNumberOfBytes,
                                      out ulong lpTotalNumberOfFreeBytes);
                                      ulong GetDiskSize(string volumeName)
        {
            ulong avail;
            ulong total;
            ulong totalFree;
            GetDiskFreeSpaceEx(volumeName, out avail, out total, out totalFree);
            return total;
            // return others as desired
        }

我没有得到结果。

1 个答案:

答案 0 :(得分:1)

由于沙盒而无法实现。

  

我们可以获得有关Windows Phone的可用内存空间,但无法获得完整的内存空间,因为我们的应用程序只能访问其独立存储的内存。

source

此外,MSDN上没有关于System.FullSpace或任何内容的参考。

顺便说一句,快速搜索&#34; p-调用GetFileInformationByHandleEx&#34;没有提供任何参考。我找到了opposite

相关问题