Out of Memory

本ブログは更新を停止しました。Aerieをよろしくお願いいたします。

目次

Blog 利用状況

ニュース

2009年3月31日
更新を停止しました。引き続きAerieを御愛顧くださいませ。
2009年2月3日
原則としてコメント受付を停止しました。コメントはAerieまでお願いいたします。
詳細は2月3日のエントリをご覧ください。
2008年7月1日
Microsoft MVP for Developer Tools - Visual C++ を再受賞しました。
2008年2月某日
MVPアワードがVisual C++に変更になりました。
2007年10月23日
blogタイトルを変更しました。
2007年7月1日
Microsoft MVP for Windows - SDKを受賞しました!
2007年6月20日
スキル「ニュース欄ハック」を覚えた!
2006年12月14日
記念すべき初エントリ
2006年12月3日
わんくま同盟に加盟しました。

カレンダー

中の人

αετο? / aetos / あえとす

シャノン? 誰それ。

顔写真

埼玉を馬鹿にする奴は俺が許さん。

基本的に知ったかぶり。興味を持った技術に手を出して、ちょっと齧りはするものの、それを応用して何か形にするまでは及ばずに飽きて放り出す人。

書庫

日記カテゴリ

シェル拡張コンポーネントをマネージコードで作るな!? 再び。

シェル拡張コンポーネントをマネージコードで作るな!? の続きと言うか訂正と言うか。
コメント欄でツッコミを頂いたのだが、コメント返しで対応するにはちょっと大きすぎる問題なので新たにポスト。

考えてみると、俺が2.0対応のコンポーネントを作って公開したとしても、それがインストールされるマシンにCLR1.1と2.0が両方インストールされていて、1.1を使うシェル拡張がインストールされていたら問題は起きる。
じゃあ、インストーラで「CLR1.1がインストールされてちゃダメ」って指定(できるのか知らんが)したらどうだと思ったけれど、俺のコンポーネントをインストールした後で、CLR1.1と1.1用コンポーネントをインストールされることまでは避けられない。
俺の2.0用コンポーネントがロードされる前にアンマネージドスタブのようなものをロードさせて、そいつにexplorerがホストしているCLRのバージョンを調べさせるとかすれば避けられるだろうか。すげぇ面倒臭そうで嫌だけど。

NyaRuRuさんのサイトでは、さらにIEやDirect3Dも巻き込んだ問題として解説されており、興味深い。
正直、こんなこと今まで考えたこと無かった。こんな問題があるのにサイドバイサイドなんてどの面下げて吹聴してやがるんだか。
NyaRuRuさんのサイトはInternalなところまで突っ込んでいる記事が多く、たまに検索に引っかかるとつい読みふけってしまう。仕事が進まないじゃないかコラ(ゴメンナサイ
ところで、異なるバージョンのDirect3Dって同じマシン内で共存できたんだっけ?

投稿日時 : 2007年1月7日 0:07

Feedback

# re: シェル拡張コンポーネントをマネージコードで作るな!? 再び。 2007/01/07 0:09 シャノン

というか、CLR1.1がホストされてるプロセスに2.0用のコンポーネントを読み込もうとしたら誤動作するってのがおかしい。
そもそも読み込もうとするなよ。

# re: シェル拡張コンポーネントをマネージコードで作るな!? 再び。 2007/01/07 0:16 シャノン

インプロセスハンドラを使って、コンポーネント本体はアウトプロセスで動かせばなんとかなるかしら?

# re: シェル拡張コンポーネントをマネージコードで作るな!? 再び。 2007/01/07 2:44 NyaRuRu

>インプロセスハンドラを使って、コンポーネント本体はアウトプロセスで動かせばなんとかなるかしら?

ちなみに,Vistaで流行の方法は,
「下にもう一層作ってそれで全部再実装」
だったりします.

例えばVistaではDirectSoundもPlaySound APIも何もかも,Windows Core Audio APIで再実装されました.その結果,同一プロセス内で動いているのは実質的に「Windows Core Audio API」のみとなって,色々すっきりするわけですな.
同様に DirectShow も Media Foundation API に取って代わられ,Direct3D も一部は DXGI という長期安定な API に置き換わっています.
10 年規模のソフトウェアのライフサイクルとして見てみると,色々興味深いものがありますね.

# シェル拡張コンポーネントをマネージコードで作るな!? その3 2007/01/07 17:25 .COM -どっとこむ-

シェル拡張コンポーネントをマネージコードで作るな!? その3

# Posts like this brighten up my day. Thanks for tinakg the time. 2011/07/11 3:59 Henny

Posts like this brighten up my day. Thanks for tinakg the time.

タイトル
名前
Url
コメント