2016-06-25 5 views
0

Ich möchte die Kapazität der CD in meinem Windows Phone 8.1 RT-Projekt erhalten.Wie kann ich die Gesamtkapazität der Festplatte in WP 8.1 RT erhalten?

Ich habe gelernt, dass ich diese Funktion nutzen (p-invoking GetFileInformationByHandleEx) für diese.

Aber ich konnte keine Beispiele für den Einsatz finden. Kann mir jemand an einem Beispiel helfen?

Ich habe versucht, folgende:

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 
     } 

ich nicht Ergebnis bekommen haben.

+0

Mögliches Duplikat von [Wie ich den freien Speicherplatz in einer universellen Windows Phone 8.1 App herausfinden kann] (http://stackoverflow.com/questions/23445993/how-i-can-find-out-the-avaible -freiraum-in-einem-universal-windows-phone-8-1-app) –

+0

Ich habe dieses Problem gesehen. Ich möchte FreeSpace nicht bekommen. Ich möchte die Kapazität der Disc bekommen. – burhanaksendir

Antwort

1

Dies ist wegen des Sandboxing nicht möglich.

Wir können den freien Speicherplatz über unser Windows Phone bekommen, aber es ist nicht möglich, den vollen Speicherplatz zu bekommen, weil unsere Anwendung nur die Erinnerung an den isolierten Speicher zugreifen kann.

source

Auch gibt es keinen Hinweis über eine System.FullSpace oder whatver auf dem MSDN.

Übrigens ergab eine schnelle Suche rund um "p-Aufruf GetFileInformationByHandleEx" keine Referenz. Ich habe die opposite gefunden.

+0

Ich sah eine Referenz namens ** System.Capacity **. Ich habe versucht, die ** [folgende] (https://gist.github.com/anonymous/370c1b1e0c644b39e96325a5c1db58d4) ** verwendet, aber falsche Werte zurückgegeben. Es gibt folgenden Satz in der Antwort von ** [this] (https://social.msdn.microsoft.com/Forums/en-US/56a017f7-c448-49f5-90cd-f04c04be0d42/winrt-how-to- get-the-total-disc-space-or-used-space) ** Frage: ".. für diese Volumes können Sie möglicherweise nützliche Informationen durch p-Aufruf GetFileInformationByHandleEx" Wenn ich richtig verstanden habe, kann ich die Gesamtkapazität der Festplatte mit dieser Funktion erhalten? – burhanaksendir

+0

@burhanaksendir hast du den Code versucht? – aloisdg

+0

Sie sagten das nicht möglich. Aber ich sah viele Anwendungen diese Funktion im Windows Store verwendet. Sehen. (iCleaner, Storage Cleaner Pro ...) Wie ist das möglich? Es muss einen Weg geben. – burhanaksendir

Verwandte Themen