ストレージ制御に関する情報
今回は技術情報です。
かなり特殊な情報であるので技術共有という意味合いでここに残すことにしました。
日本語のXNA関連情報であまり細かく触れられていなさそうで
ちょっと悪いはまり方をしそうなところがあったので
こういう形で書き残しておきます。
XNAでもストレージの読み書きが使えるのですが
XBOX360実機で読み書きする場合、どのデバイスを使用するかを決定するのに
ブレードを開いてストレージ機器を選択させる必要があります。
で、その為のAPIがあるのですが
サンプル通りに組むとうまく動きませんでした。
例外を拾って調べるとダイアログが表示できなかったという
例外が発生していました。
で、色々と調べて出た結論が
XBOX360実機では何回かAPIを呼び出してブレードを表示させる
という方法でした。
具体的にはこのようなコードで対処しました。
かなり強引な方法なのでこれが正解だとは思いたくないのですが…
bool openGuide = false;
AsyncCallback callback = new AsyncCallback(this.OnSave);
do {
openGuide = true;
try {
StorageDevice.BeginShowStorageDeviceGuide(callback,null);
} catch (Exception e) {
openGuide = false;
}
} while (openGuide == false);
AsyncCallback callback = new AsyncCallback(this.OnSave);
do {
openGuide = true;
try {
StorageDevice.BeginShowStorageDeviceGuide(callback,null);
} catch (Exception e) {
openGuide = false;
}
} while (openGuide == false);
トラックバックはまだありません。