我希望在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
}
我没有得到结果。