Windows Phone 7 のファイルシステムへアクセス?
Windows Phone 7ではファイルシステムへのアクセスができないということになっています。というのはアプリケーションのプラットフォームであるSilverlightでそういったAPIなどが用意されていないから。
しかし、Windows Phone 7 もOS。もちろんファイルシステムは存在し、おそらく今まで通り Windows フォルダがあり、Program Files フォルダがあるのでしょう。基本となるOSはWindows CEであり、.NET Compact Framework 3.7 ですから。
では、Silverlight からファイルシステムへのアクセス可能なAPIを呼び出すことができたら?アンマネージドコードを呼び出せたら?
Windows Phone 7 & “native” apps, the missing link!
Chris Walsh 氏は Smasung が作ったネットワークプロパティを設定するSilverlight アプリケーションの XAP内に、アンマネージドのdllがあることを見つけました。
解析してみると、Windows Phone 7 のGAC(共有ライブラリのようなもの)の中に Microsoft.Phone.InteropService があり、これにより COMアクセスが可能になる、つまりアンマネージド dll へアクセスができるようになる、ということのようです。
とはいえ、呼び出し元のアプリケーションはマネージ度インスタンスの為、まだOSからの制限は受けた状態という注意事項付き。
そして何日かして Chris はファイルシステムへのアクセスに成功しています。
Windows Phone 7 – Full file system access anyone?
コメントによれば、ファイルへの古アクセスが可能で、作成、削除、表示ができ、唯一システムROMのファイルの削除ができない、というものでした。
さて、これからどうなることでしょうか?