2017年1月30日月曜日

VirtualStoreって何だよ!

結局FMtrialでもパッチ地獄に突入!

DLLの存在場所がDLLから判明できるようになったので、

TCHAR   szModuleFileName[_MAX_PATH] = _T("");
GetModuleFileName((HMODULE)hInstance, szModuleFileName, _MAX_PATH);

その場所にパッチデータを保存しといたら色々と楽じゃんということで、
早速そこにパッチを書き込んだり、読み込んだりするコードを書いてみました。

でもWin7くらいからProgramFiles以下は割とユーザやプログラムが読み書きしたら
ダメよウフフ的なルールになってきていたので大丈夫かなーと思いながら実行。

あら、ちゃんとパッチをセーブしたりロードしたりできる!
簡単じゃん!

と思って該当のVSTのある場所を見に行くと、パッチデータは無い。

でも、ちゃんとパッチをセーブしたりロードしたりしてる。

なんだこれ!?

パッチファイル名で検索かけたら、
C:\Users\<ユーザ名>\AppData\Local\VirtualStore\Program Files (x86)\VSTPlugIns

こんなトコにしゅれっとセーブされてる!

なんだこれ!?

調べたら、VirtualStoreという機能らしくて、システム領域をアホプログラムから守る
機能らしいどす。

うーん。

なんだろうこのモヤモヤ感。

「DLLの隣にパッチデータを置いておきたい!」

という野望はどうにもうまくいきませんでした。
もうちょっとゴチャゴチャやってみよう。

0 件のコメント:

コメントを投稿