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 / あえとす

シャノン? 誰それ。

顔写真

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

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

書庫

日記カテゴリ

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

MSDNマガジンが日本語で読めるようになったってんで見に行ってみたら、なんと、シェル拡張コンポーネントをマネージコードで書くような話が載っているじゃないですか。
これは読まずにはいられないわけでして。

ところが、読み進めてみると意外な一文が。
マイクロソフトとしては、最終的に、シェルのアドインをマネージ コードで実装しないことを強くお勧めします。
な、なんですと!?
当ブログの存在意義が根底から揺るがされるようなことが…

これは、以下のような理由があるためだそうです。

  • アドインはインプロセスでシェル (explorer.exe) に読み込まれる
  • 特定のプロセスに読み込める共通言語ランタイム (CLR) のバージョンは 1 つだけ
  • あるバージョンのランタイムを対象に作成されたマネージ コードが、以前のバージョンのランタイムを実行するプロセスでは実行されない可能性がある

要するに、.NET Framework 1.1と2.0を対象として作られたシェル拡張コンポーネントが同じマシンにインストールされていた場合、1.1の方が先に読み込まれてしまうと、2.0のCLRはロードされず、2.0対象のアドインを1.1のエンジンで動かそうとするためうまく行かない、ということだそうです。

しかし、解決策が無いわけではありません。
いや、根本的な解決策は無いのですが、少なくとも俺がこの問題を逃れる方法はあります。

要は簡単。当サイトでは、.NET 2.0を対象としたコンポーネントのみを公開すればよい。それだけです。
もとより、今からわざわざVisualStudio .NET 2003を用いての開発なんかやるつもりはありませんし、シェル拡張コンポーネントではWPFやWCFのような、.NET 3.0からの新機能なんて縁がありません
第一、対象言語としているC++/CLIでは.NET 3.0開発がサポートされていないので、3.0用のシェル拡張ライブラリなど作りようがありません。

なにより、たとえ.NET 3.0の機能を利用したコンポーネントを公開したとしても、前述したような1.1と2.0の競合問題は起こりません。3.0のコア部分は2.0と全く同じなので、3.0から新たに追加されたライブラリさえインストールされていれば、2.0のCLRをロードしたプロセスで、3.0のアセンブリは問題なく動くからです。

投稿日時 : 2007年1月6日 16:56

Feedback

# re: シェル拡張コンポーネントをマネージコードで作るな!? 2007/01/06 17:04 シャノン

なお、件のMSDNマガジンの記事では、C++/CLIではなくC#で書いています。
既に述べたとおり、ウチがC++/CLIを使うのは、Windows SDKに既に定義されている大量のインターフェイスを、マネージ言語で再定義するのが面倒くさいためです。
が、この作業も徐々に進めて行きたいと思います。

# re: シェル拡張コンポーネントをマネージコードで作るな!? 2007/01/06 18:11 Hirotow

この問題ってもしかしてBandObjectsLibなんかにもあてはまるんでしょうか?

# インプロセスコードをデバッグするには 2007/01/06 18:43 Hirotow's Craftive Blogs

インプロセスコードをデバッグするには

# re: シェル拡張コンポーネントをマネージコードで作るな!? 2007/01/06 19:58 中博俊

3.0はCLR2.0なので、置いておくとして.

1.1と2.0の問題は別のシェル拡張と自前のシェル拡張の問題です。
1.1のシェル拡張マシンにインストールするとシェルが落ちるかもね。

# re: シェル拡張コンポーネントをマネージコードで作るな!? 2007/01/06 20:33 NyaRuRu

割と有名な話というか,Microsoftお得意のインプロセス・コンポーネント技術の限界だと思ってます.
http://d.hatena.ne.jp/NyaRuRu/20061019/p3

コンポーネント技術で実装を隠蔽したように見えて,その実装がプロセスに1つだけとかそういう暗黙の制限を持っているケースが多すぎと.
まさに『漏れのある抽象化の法則』だと思います.
相手がプロセスとかだと結局OSレベルで手を入れないといけないパターンが多いですねぇ.

# re: シェル拡張コンポーネントをマネージコードで作るな!? 2007/01/06 21:44 中博俊

CLR3くらいでは何とか乗り越えてほしいと思うわけですが。

# シェル拡張コンポーネントをマネージコードで作るな!? 再び。 2007/01/07 0:07 .COM -どっとこむ-

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

# インプロセスコードをデバッグするには 2008/06/22 16:02 Hirotow's Craftive Blogs

インプロセスコードをデバッグするには

# I'm not sure exactly why but this site is loading extremely slow for me. Is anyone else having this problem or is it a issue on my end? I'll check back later and see if the problem still exists. 2019/05/11 4:33 I'm not sure exactly why but this site is loading

I'm not sure exactly why but this site is
loading extremely slow for me. Is anyone else having this problem or is it a
issue on my end? I'll check back later and see if the problem still exists.

# An intriguing discussion is definitely worth comment. I do believe that you should publish more on this subject matter, it might not be a taboo matter but usually people do not speak about such subjects. To the next! All the best!! 2019/05/29 15:26 An intriguing discussion is definitely worth comme

An intriguing discussion is definitely worth comment.
I do believe that you should publish more on this subject matter,
it might not be a taboo matter but usually people do not speak about such subjects.
To the next! All the best!!

# I was recommended this blog by my cousin. I'm not sure whether this post is written by him as nobody else know such detailed about my difficulty. You're wonderful! Thanks! 2019/05/31 6:13 I was recommended this blog by my cousin. I'm not

I was recommended this blog by my cousin. I'm not
sure whether this post is written by him as nobody else
know such detailed about my difficulty. You're wonderful!
Thanks!

# Heya i am for the first time here. I found this board and I in finding It really helpful & it helped me out much. I'm hoping to present something back and aid others like you aided me. 2019/06/02 8:53 Heya i am for the first time here. I found this bo

Heya i am for the first time here. I found
this board and I in finding It really helpful & it helped me out much.
I'm hoping to present something back and aid others like you aided me.

# I am not sure where you are getting your info, but great topic. I needs to spend some time learning more or understanding more. Thanks for wonderful info I was looking for this information for my mission. 2019/06/03 2:10 I am not sure where you are getting your info, but

I am not sure where you are getting your info, but great topic.
I needs to spend some time learning more or understanding more.
Thanks for wonderful info I was looking for this information for my mission.

# Thanks for the good writeup. It actually was once a leisure account it. Glance advanced to more brought agreeable from you! However, how can we be in contact? 2019/06/03 17:35 Thanks for the good writeup. It actually was once

Thanks for the good writeup. It actually was once a leisure account it.

Glance advanced to more brought agreeable from you!
However, how can we be in contact?

# I do agree with all the concepts you've offered for your post. They're very convincing and can certainly work. Nonetheless, the posts are very brief for beginners. May you please lengthen them a bit from subsequent time? Thanks for the post. 2019/06/05 12:38 I do agree with all the concepts you've offered fo

I do agree with all the concepts you've offered for your post.
They're very convincing and can certainly work. Nonetheless,
the posts are very brief for beginners. May you
please lengthen them a bit from subsequent time? Thanks for the post.

# Hi this is somewhat of off topic but I was wanting to know if blogs use WYSIWYG editors or if you have to manually code with HTML. I'm starting a blog soon but have no coding experience so I wanted to get advice from someone with experience. Any help wo 2019/06/07 12:07 Hi this is somewhat of off topic but I was wanting

Hi this is somewhat of off topic but I was wanting to know if blogs
use WYSIWYG editors or if you have to manually code with HTML.
I'm starting a blog soon but have no coding experience
so I wanted to get advice from someone with experience.
Any help would be enormously appreciated!

# What's up, its pleasant paragraph regarding media print, we all know media is a enormous source of facts. 2019/07/17 13:46 What's up, its pleasant paragraph regarding media

What's up, its pleasant paragraph regarding media print, we all know media is a enormous source
of facts.

# What's up, its pleasant paragraph regarding media print, we all know media is a enormous source of facts. 2019/07/17 13:47 What's up, its pleasant paragraph regarding media

What's up, its pleasant paragraph regarding media print, we all know media is a enormous source
of facts.

# What's up, its pleasant paragraph regarding media print, we all know media is a enormous source of facts. 2019/07/17 13:48 What's up, its pleasant paragraph regarding media

What's up, its pleasant paragraph regarding media print, we all know media is a enormous source
of facts.

# What's up, its pleasant paragraph regarding media print, we all know media is a enormous source of facts. 2019/07/17 13:49 What's up, its pleasant paragraph regarding media

What's up, its pleasant paragraph regarding media print, we all know media is a enormous source
of facts.

# I always used to study post in news papers but now as I am a user of web so from now I am using net for posts, thanks to web. 2019/09/07 1:33 I always used to study post in news papers but now

I always used to study post in news papers but now as I am
a user of web so from now I am using net for posts, thanks to web.

# yrqjALzzncQ 2021/07/03 2:58 https://amzn.to/365xyVY

Im thankful for the blog article.Much thanks again. Want more.

# Illikebuisse vpztd 2021/07/04 1:24 pharmaceptica

chloroquinolone malaria https://pharmaceptica.com/

# erectile dysfunction doctors 2021/07/09 20:47 hydroxychloroquine sulfate side effects

hydroxychloroquine treats what https://plaquenilx.com/# what is hydroxychlor 200 mg

# re: ????????????????????????!? 2021/07/12 11:59 side effect of hydroxychloroquine

chloroquine moa https://chloroquineorigin.com/# hydroxychoroquine

# re: ????????????????????????!? 2021/07/23 16:41 hydrochlorazine

chloroquine amazon https://chloroquineorigin.com/# hydroxychloroquine meaning

# re: ????????????????????????!? 2021/08/09 14:03 hydroxychloroquine what is it

chloroquinone https://chloroquineorigin.com/# how long has hydroxychloroquine been used

# I think this is one of the most significant information for me. And i'm glad reading your article. But want to remark on few general things, The website style is wonderful, the articles is really excellent : D. Good job, cheers 2022/12/02 15:47 I think this is one of the most significant inform

I think this is one of the most significant information for
me. And i'm glad reading your article. But want to remark on few general things,
The website style is wonderful, the articles is really excellent
: D. Good job, cheers

# doors2.txt;1 2023/03/14 15:04 vcSZbuZwlxBqFPt

doors2.txt;1

# doors2.txt;1 2023/03/14 16:36 xYVTJUrRccSXG

doors2.txt;1

タイトル
名前
Url
コメント