2016-06-25 4 views
0

Windows Phone 8.1 RTプロジェクトでディスクの容量を取得したい。WP 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 
     } 

私は結果を取得できませんでした。

+0

可能な複製[ユニバーサルWindows Phone 8.1アプリケーションでavaibleの空き領域をどのように見つけることができますか?](http://stackoverflow.com/questions/23445993/how-i-can-find-out-the-avaible -free-space-in-a-universal-windows-phone-8-1-app) –

+0

私はこの問題を見てきました。私はFreeSpaceを取得したくありません。私はディスクの容量を取得したい。 – burhanaksendir

答えて

1

サンドボックス化のため不可能です。

私たちのWindows Phoneに関する空きメモリ容量は得られますが、アプリケーションは独立したストレージのメモリにしかアクセスできないため、完全なメモリ容量を得ることはできません。

source

また、MSDNSystem.FullSpace又はwhatverについての基準は存在しません。

ちなみに、 "p-invoking GetFileInformationByHandleEx"をクイック検索しても参照は得られませんでした。 oppositeが見つかりました。

+0

** System.Capacity **という名前のリファレンスが見つかりました。私は** [次の](https://gist.github.com/anonymous/370c1b1e0c644b39e96325a5c1db58d4)**を使ってみました**しかし、間違った値を返します。 ** [this](https://social.msdn.microsoft.com/Forums/en-US/56a017f7-c448-49f5-90cd-f04c04be0d42/winrt-how-to-)の回答に続く文章があります。 Get-the-total-disk-space-or-used-space)**質問:「これらのボリュームについては、GetFileInformationByHandleExをp-invokingすることによっていくつかの有益な情報を得ることができます」 私が正しく理解していれば、この機能でディスクの総容量を取得できますか? – burhanaksendir

+0

@burhanaksendirコードを試しましたか? – aloisdg

+0

あなたはそれはできないと言った。しかし、多くのアプリケーションがWindowsストアでこの機能を使用していました。見る。 (iCleaner、Storage Cleaner Pro ...)これはどのように可能ですか?方法が必要です。 – burhanaksendir

関連する問題