DragonBorad 410cでWindows 10のIoTを使用して顧客固有のアプリケーションを開発しています。 このアプリケーションでは、どのドライブ/ StorageFolderがSDカードであり、どちらが追加のUSBスティックであるかを知ることが不可欠です。 SDカードは、ドライブ文字「D」を持つことになっているので、私はStorageDevice.FromIdがWindows 10で「実装されていない例外」をスローするIoT
KnownFolders.RemovableDevices
を使用してドライブ文字を介してこれを処理するために使用しました。 一方のボードでは、SDカードが突然ドライブ文字「E」を持っていて、コードが失敗しました。
は、したがって、私は、リムーバブルドライブを列挙するために
var deviceInfos = DeviceInformation.FindAllAsync(DeviceClass.PortableStorageDevice);
を使用して開始してから特定のパターンごとにデバイス情報オブジェクトのID文字列を検索:
private StorageFolder _sdCard;
private StorageFolder _usbDrive;
foreach(DeviceInformation info in deviceInfos)
{
string id = info.Id.ToUpper();
try
{
if(id.Contains(SDId))
{
_sdCard = StorageDevice.FromId(info.Id);
}
else if(id.Contains(USBId))
{
_usbDrive = StorageDevice.FromId(info.Id);
}
}
catch(Exception e)
{
Debug.WriteLine("########## Error " + e);
}
}
残念ながら
StorageDevice.FromId()
"実装されていない例外"をスローします。 .appxmanifestファイルとファイルタイプの関連付けのリムーバブルストレージ機能が有効になっています。リムーバブルストレージデバイス上のファイルにアクセスする際に問題はありません。誰も似たような問題を経験して解決策を見つけましたか?追加のUSBスティックが接続されている場合、SDカードにStorageFolderを確実に取り込むという考えは誰にもありますか?
はちょうど私がそれとあまり満足していないが、私は、ソリューションを自分で発見した質問を終えた後、事前に非常に多くのティム
申し訳ありませんが、私はDeviceInformation.FindAllAsyncで待っていませんでした。しかし、それは私のコードであり、問題ではありません。 –