[XAP][21.05.2014]Update: IO Explorer 3.6 for interop-unlocked SAMSUNG devices

ngame

Senior Member
Mar 13, 2012
1,126
545
0
Mashad
I just use the StorageFolder class:

Code:
StorageFolder sf = await StorageFolder.GetFolderFromPathAsync("C:\\");
            List<IStorageItem> lsf = new List<IStorageItem>();
            var items = await sf.GetItemsAsync();
            string test = "";
            foreach (IStorageItem item in items)
            {
                lsf.Add(item);
                test = test + item.Name + "\n";

            }
            MessageBox.Show(test);
After that you should get the properties...

That way you can also browse the C:\System32 folder as well, but there are still folders I can´t access. Maybe because I didn´t add all capatilities.

Edit:
@Sunius1, @GoodDayToDie:

Atm I don´t have time for doing more tests, so any help would be appreciated.
You mean folders like
C:\windows \system 32\config
????
This folders needs a permission before you can access them
Test on emulator image . They ask you to confirm before you access these folders .
I think we don't need capabalities.
 

contable

Senior Member
Oct 25, 2009
1,755
996
0
You mean folders like
C:\windows \system 32\config
????
This folders needs a permission before you can access them
Test on emulator image . They ask you to confirm before you access these folders .
I think we don't need capabalities.
As written before so far I couldn´t do more tests, but I can retrieve the StorageItems of the C:\Windows\System32 folder. With the nativefilesystem I can´t retrieve the items.

Edit: The StorageFolder class only has access to those folders on interop-unlocked/capability unlocked devices.
 
Last edited:

contable

Senior Member
Oct 25, 2009
1,755
996
0

Attachments

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,930
0
Seattle
The StorageFolder APIs use a broker process with much higher privileges than a typical app. They *shouldn't* allow access to the root of the C: drive, but I'm hardly going to complain if they do!

NativeFilesystem just uses the app's own permissions, through the Win32 APIs directly. Thus it can read C:\Windows (and most of its subfolders, including most of System32) but it can't read C:\, or C:\Programs, or several other folders that we know are there. At least, it can't without getting higher privileges than an app is ever supposed to have.
 
  • Like
Reactions: contable

contable

Senior Member
Oct 25, 2009
1,755
996
0
The StorageFolder APIs use a broker process with much higher privileges than a typical app. They *shouldn't* allow access to the root of the C: drive, but I'm hardly going to complain if they do!

NativeFilesystem just uses the app's own permissions, through the Win32 APIs directly. Thus it can read C:\Windows (and most of its subfolders, including most of System32) but it can't read C:\, or C:\Programs, or several other folders that we know are there. At least, it can't without getting higher privileges than an app is ever supposed to have.
Thanks for the explanation.

Currently I´m re-coding the app, because I decided to use both: StorageFolder API and nativefilesystem.
 

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,930
0
Seattle
Looks like that might be 8.1-only. Huh. Quite a long shot, but has anybody tried writing anything? Also, any idea what capabilities, if any, are needed for that access?

Also, NativeFileSystem has a GetDriveLetters() function which will list all mounted drive letters (surprise!). At least, all of them that it can see...
 

contable

Senior Member
Oct 25, 2009
1,755
996
0
Looks like that might be 8.1-only. Huh. Quite a long shot, but has anybody tried writing anything? Also, any idea what capabilities, if any, are needed for that access?

Also, NativeFileSystem has a GetDriveLetters() function which will list all mounted drive letters (surprise!). At least, all of them that it can see...
Yes, it´s 8.1 only. I think the StorageFolder API got higher priveleges because of the the new share/share-target features.

All types of access (read/write/delete/rename/create folders) are possible if the StorageFolder or StorageItem can be retrieved. For example I can delete now folders in the app data folders, before I couldn´t. When I have finished the copy/move functions I will report again....

Edit:

I will test the GetDriveLetters() function...
 
Last edited:
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone