Ookami@FFXI試練鯖








Xbox&FF11(*´Д`*)
by SirenOokami
Twitter - OokamiSiren

Usefull topics
Xbox.com:公式スケジュール
Xbox.com:クラウドを利用
Xbox.com:Gold Family
Xbox Live Rewards
Xbox Live TODAY
Xbox Live Status
Microsoft Account 作成詳細
Xbox状況コード:807b0194
ErrorCode(WP):805a0191
Windows Phone Store
YouTube:Xbox公式ch
Intel Download Center

Software Development
Windows Phone Dev Center
Xbox Indie Games

Links
FINAL FANTASY XI
FINAL FANTASY XIV
DRAGON QUEST X
MHF Xbox360
E3 Expo
aguse
答えてねっと 試練の狼
はこまるぷらす+
Nikon Image Space
XBOX FAN SITE LINKs
Round4 AGC
Xbox360ファンサイトRssChecker
X.Revolution
mu mu 360

まとめなどなど topics
目次:Windows Phone 8 人柱
目次:Surface Pro 関連
目次:Surface RT 関連
目次:NUCにもWindows XP
目次:Shuttle DS61関連
目次:Haswell - FF11関連
Xbox関連 topics
XBOX360基板遍歴
Kinect接続初回起動
データ転送ケーブルまとめ
USB速度&接続状況まとめ
USBフォーマット時容量
FFXI@360関連
HDD移行時の問題
HDD移行時の問題#2
FFXIが起動しなくなった時
FFXIのVerUPが何度も失敗
FFXIエ読込時等に固まる

-- 国内 タイトルリスト --
初代XBOX ※2010/02/15
XBOX360 ※2010/10/08
XBOX360 ※2012/10/01
公式初代XBOX互換リスト
JP 互換リストへリンク
US 互換リストへリンク
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
記事ランキング
カテゴリ
全体
FFXI:アドゥリンの魔境
XBOX1
FFXI:ヴぁな生活
FFXI:星の輝きを手に
FFXI:Lv99 アサルト
FFXI:Lv99 サルベージ
FFXI:Lv99 花鳥風月
FFXI:追加シナリオ
FFXI:錬成/エヴォリス
FFXI:Field Manual
FFXI:アルタナの神兵
FFXI:BC/NM/ENM/Mis/裏
XBOX 全般
360 USBメモリ
360 Event
360 基盤遍歴
Windows Phone/RT
[PC向け自作そふと]
[せっとあっぷ]
[こんぴゅ~た]
[こんぴゅ~た]部品
[ねっとわ~く]
食/旅行/自然/生活等
写真/音楽/映像
[懐ぱそ]
FFXIV
Sony:VAIO/PS他
Apple
特集:Tokyo Game Show
特集:Spike
特集:BAYONETTA
特集:マグナカルタ2
特集:HALO WARS
特集:STAR OCERN 4
特集:Fable II
特集:Fable III
etc:その他
特集:Call of Juarez血の絆
未分類
最新のコメント
大変助かりました、ありが..
by kenzy at 22:20
私のところで起きたレアケ..
by SirenOokami at 14:45
私も新しいSSDを取り付..
by red at 23:49
こんにちは。 お久しぶ..
by ムームー at 08:59
I feel this ..
by WarpNuarf at 07:37
SSD以外を取り外してセ..
by wis at 19:46
あきらめずに頑張ってみし..
by SirenOokami at 14:44
ミシック制作中なので凄く..
by みぎした at 21:28
へーピスタチオさんいるの..
by Roran at 00:06
75時台からしたらぶっこ..
by SirenOokami at 12:40
右クリック禁止
  • このブログに掲載されている写真・画像・イラストを無断で使用することを禁じます。
以前の記事
2018年 12月
2018年 11月
2018年 10月
2018年 09月
2018年 06月
2018年 04月
2018年 03月
2018年 01月
2017年 12月
2017年 11月
2017年 10月
2017年 09月
2017年 08月
2017年 07月
2017年 06月
2017年 03月
2017年 02月
2017年 01月
2016年 12月
2016年 11月
2016年 07月
2016年 04月
2016年 01月
2015年 08月
2015年 06月
2014年 12月
2014年 09月
2014年 08月
2014年 07月
2014年 05月
2014年 04月
2014年 03月
2013年 12月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 06月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2012年 01月
2011年 12月
2011年 11月
2011年 10月
2011年 09月
2011年 08月
2011年 07月
2011年 06月
2011年 05月
2011年 04月
2011年 03月
2011年 02月
2011年 01月
2010年 12月
2010年 11月
2010年 10月
2010年 09月
2010年 08月
2010年 07月
2010年 06月
2010年 05月
2010年 04月
2010年 03月
2010年 02月
2010年 01月
2009年 12月
2009年 11月
2009年 10月
2009年 09月
2009年 08月
2009年 07月
2009年 06月
2009年 05月
2009年 04月
2009年 03月
2009年 02月
2009年 01月
2008年 12月
2008年 11月
2008年 10月
2008年 09月
2008年 08月
2008年 07月
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 02月
2008年 01月
2007年 12月
2007年 11月
2007年 10月
2007年 09月
2007年 08月
2007年 07月
2007年 06月
2007年 05月
2007年 04月
2007年 03月
2007年 02月
2007年 01月
2006年 12月
2006年 11月
2006年 10月
2006年 09月
2006年 08月
2006年 07月
2006年 06月
2006年 05月
2006年 04月
2006年 03月
2006年 02月
画像一覧
検索
お気に入りブログ
FFXI ナイトメア活動日記
いままでとこれから。
ころちゃんのにっき
ころちゃんのにっき
ブログジャンル

Exblog以外のフレブログ

EGHMt in Vana
ぽに。
 ☆ VCDSelector
VCDSelecter.zip 2010/07/05
※Visual Studio 2010 : Visual C++ 2005 ソースコード含 MFCアプリケーション
※あくまで調査検証用のため全体ないし一部分取り出しての再配布/再利用はしないようお願い致します。
※まだまだバグが多いことと機能不足のため実用的ではありません。それらについては今後ちまちま改善していく予定です
・2010/07/05 まだまだ機能そのものが未実装な部分や未チェックのとこが多いですが、x86で最低限動作するようになってきたのでそろそろ公開開始します。
レジストリアクセス概要:※詳細はプログラムを読んでください
・初回起動時にジストリー情報HKLM\SOFTWARE\OokamiAtSiren\VCDRomSelectorをルートとしたレジストリを生成します。この下にこのソフトウェア用の登録管理情報が保存されます。
・起動時にレジストリー情報HKLM\SOFTWARE\ARK Information Systems Inc.\Virtual CD-ROMへのアクセスを試みます。というのもここにインストール先フォルダの値が格納されているためです。インストール先フォルダを特定するためにのみここの情報を読み取っています。
操作について:
・CD革命Virtualが正規にインストールされているPC上で実行します。
 ※正規にインストールされている環境なのに、実行するときにエラーが発生するときは、おそらくUACによる制限かかっているため、管理者権限で実行してみてください。

・実行中のVCDSelecterのTree以外の場所へ、CD革命Virtualで利用可能なイメージファイルをドラッグ&ドロップして登録する。
 ※登録するときに、予め左のTreeのサブを選択しておけば、サブへ登録される。

・登録された情報を、ダブルクリックするとWinExecの機能でVCDRom.exeへVCDSelecterが実行し、正常に実行できればそのままCD革命Virtualの機能でイメージファイルが仮想CDドライブへ挿入される。
・VCDSelecterが実行されている状態で、CD/DVDドライブなどにマウントされた最新ドライブに対してVCDSelecterのGUIにてイジェクトボタンが有効です。
※特定のドライブを見張っているわけではありません。

このプログラムでの制限事項:
・ファイル名に半角スペースがあるファイルについて、なぜかVCDRom.EXEに渡しても正常に動作してくれない。解決方法がないか探し中
 ※ダブルクォーテションマークでくくってもだめだった。でも、ドラッグ&ドロップでVCDRom.exeに渡す場合半角スペース含んでいてもいいため、WinExecの仕様なのかなんなのか、回避方法調査中。
 ※全角スペースは問題ない模様

今後実装しようかなぁと考えているもの
・登録を個別に削除する機能(現在削除機能がない)
 ※Rボタンのダブルクリックなどで削除できるようにしようと考えています。

・サブフォルダがいま1階層かつ固定数なので、これを拡張したりさらにサブフォルダを作ったりできるようにするGUI。
 ※regeditでサブKEYを作れば、実はプログラムはすでにサブフォルダへ対応している。
 ※サブフォルダの深度制限は、メモリー等に依存し、プログラムで階層深度は規定していない。

ソースコードとメモリー確保ついて:
 Visual Studio 2010のC++/MFCアプリケーション用として書かれています。また、x86/x64用プロジェクト両方を含んでいます。これは、それぞれのプラットフォームでネイティブで動作検証するためです。x64用で専用に書くことも考えたのですが、開発環境がx86中心であることから、両方で動作させたほうがあとあとよいかもとおもい、両方のプロジェクトを含めて両方出力することにしました。
 また、プログラムはUNICODE用に書かれています。というのも、ANSIではファイル名長への制限などがあるため、それに引っかからないようにすることも考慮しています。UNICODE用であることと、一部ANSIでアクセスしなければならない部分とを共存させていますが、すべてUNICODEでいけることが確認されればANSIへ変換してANSI用関数を呼び出しているところは変更するつもりです(WinExec関数呼び出し部分)。
 また、UNICODEでアクセスし、ファイル名の長さがANSIでの制限以上になってもよいようにするため、静的なメモリー割り当ては極力避けています。ほとんどの箇所は動的に必要なサイズ分のメモリーを割り当てを行うようにアルゴリズムを組み込んでいます。
 この辺りは、NTFSだけではなくNASなどのネットワーク上のアクセス可能なファイルの長さが4096バイト超えたりしてもいいようにしている感じです。ここまで長いファイル名が許容されるかどうかはシステムによって変わるでしょうから、許容されるシステムでのアクセスが行われたときに、バッファーオーバーラン等が発生しないように考慮しているという感じです。

レジストリに保存されるデータについて:
 レジストリに対してファイルの登録状況を保存しています。起動するたびにファイルを登録するのは面倒ですからね。というわけでレジストリに登録することにしたのですが(普段はあまり推奨されませんが、PrivateProfile 系APIで外部ファイルにしているのです。でも、今回はレジストリにしています)、保存方法は悩みました。
 レジストリーがあなりに長いデータ保存で失敗するのか?といったこともCD革命Virtualの格納方法から可能性としては上がったのですが、あまりに長い(といっても数十KB程度)文字列の保存でレジストリが破壊されるようなら、そもそも64Bit OSのレジストリーとしてどうなのか・・・というわけで、そんな不具合がWindows 7 64Bit版レジストリ操作APIにあるならとっくに見つかっているだろうと思うので別の方法にしました。
※これを検証すべきかもしれませんが・・・ まぁ、それはレジストリに巨大データ書き込むテストプログラムを別途作ればいいわけなので、それは別のこととしました。

 そして、一つの値(Value)に対して、登録用フォルダ全てのファイルパスをセパレータを使って保存すしているCD革命の方法は、VCDSelecterでは使用していません。もっと単純な方法で実装することにしました。それは、複数行文字列です。
 システムレジストリーでUNICODEによる複数文字列保存を行う場合、0x0000を改行コードのように使用するため、読み取り時の非常に文字列操作が簡単になるのです。今回は行数を固定することにしたため、メモリー操作とCStringクラスをうまく使うことにしました。そして、保存するための名前は、数字で1から割り振ることにしました。つまり、登録フォルダに登録されているファイルの数だけレジストリに数字で登録されている値が存在するわけです。
 途中削除されても問題がないように、登録時は重ならない値の名前になるように検索するなど、ちょっと工夫はしていますが、ファイル数などが簡単に登録&編集できるようにしています。
 機能的にもまだまだ未熟で、限定された環境でしか実行テストしていませんが、動くようなら最低限つかえるところまできたので、実際に作成してるお! という参考までに公開しておきます。
[PR]
by SirenOokami | 2010-07-05 15:30 | [PC向け自作そふと] | Trackback | Comments(0)
トラックバックURL : https://realvana.exblog.jp/tb/14124616
トラックバックする(会員専用) [ヘルプ]
<< Wndows版FFXIV発売は... XBOX360:Ovlibio... >>
当ホームページに記載されている会社名・製品名・システム名などは、各社の登録商標、もしくは商標です。
記事URL及びブログTOPへのリンクは自由といたしますが、記事内容及び記事で提供しているダウンロードデータ(ソフトウェアを含)・写真等についての再掲載・転載等の二次使用は固くお断りいたします。
特にアフェリエイトを含むまとめサイトへの転載は一切行わないようお願いいたします。