<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>プログラミング：COM</title><link>http://blogs.wankuma.com/shannon/category/872.aspx</link><description>プログラミング：COM</description><managingEditor>αετος / aetos</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>シャノン</dc:creator><title>COM列挙子 in C#</title><link>http://blogs.wankuma.com/shannon/archive/2008/03/12/127313.aspx</link><pubDate>Wed, 12 Mar 2008 00:22:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2008/03/12/127313.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/127313.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2008/03/12/127313.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/127313.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/127313.aspx</trackback:ping><description>&lt;p&gt;COMインターフェイスからもらったIEnumXXXをIEnumeratorにするには、どーしたらいいんだろうか？&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/127313.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>タイプライブラリに保持されない属性</title><link>http://blogs.wankuma.com/shannon/archive/2007/12/22/114149.aspx</link><pubDate>Sat, 22 Dec 2007 00:17:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/12/22/114149.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/114149.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/12/22/114149.aspx#Feedback</comments><slash:comments>39</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/114149.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/114149.aspx</trackback:ping><description>&lt;P&gt;の一覧って、MSDNかどこかにあるんでしょうか？&lt;/P&gt;
&lt;P&gt;# &lt;A href="http://www5.plala.or.jp/atata/"&gt;Atata!! 師匠のサイト&lt;/A&gt;の掲示板に書こうと思ったら、referer error!!!! って言われて書けなかったorz&lt;BR&gt;# ここを見てくださっていることを願って。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/114149.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>COMとスレッドセーフ</title><link>http://blogs.wankuma.com/shannon/archive/2007/12/21/114093.aspx</link><pubDate>Fri, 21 Dec 2007 14:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/12/21/114093.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/114093.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/12/21/114093.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/114093.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/114093.aspx</trackback:ping><description>&lt;P&gt;MTAとかは当たり前にスレッドセーフなので置いといて。&lt;/P&gt;
&lt;P&gt;DllGetClassObjectとDllCanUnloadNowとか、クラスファクトリもスレッドセーフにしなきゃならないですよね？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/114093.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>MIDLが吐き出すファイル</title><link>http://blogs.wankuma.com/shannon/archive/2007/12/17/113289.aspx</link><pubDate>Mon, 17 Dec 2007 15:38:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/12/17/113289.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/113289.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/12/17/113289.aspx#Feedback</comments><slash:comments>260</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/113289.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/113289.aspx</trackback:ping><description>&lt;P&gt;たまにはCOMしましょうかね&amp;#8230;（遠い目）。&lt;/P&gt;
&lt;P&gt;IDLファイル書きました。こんなの。&lt;/P&gt;&lt;PRE class=code&gt;&lt;FONT color=#0000ff&gt;import&lt;/FONT&gt; "oaidl.idl";
&lt;FONT color=#0000ff&gt;import&lt;/FONT&gt; "ocidl.idl";
[
 &lt;FONT color=#0000ff&gt;object&lt;/FONT&gt;,
 &lt;FONT color=#0000ff&gt;uuid&lt;/FONT&gt;( 9874C279-FE45-43a1-9ED6-ED667E5BA089 )
]
&lt;FONT color=#0000ff&gt;interface&lt;/FONT&gt; IHoge : IUnknown
{
 HRESULT Hoge();
}
&lt;/PRE&gt;
&lt;P&gt;こいつをMIDLでコンパイると、（元のファイル名がHoge.idlだとして）以下の４つのファイルができます。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Hoge_h.h 
&lt;LI&gt;Hoge_i.c 
&lt;LI&gt;Hoge_p.c 
&lt;LI&gt;dlldata.c&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Hoge_h.hは、このインターフェイスの定義をC++風に書き直したものです。&lt;BR&gt;こいつを、このインターフェイスを使うクライアントに提供します。&lt;BR&gt;この中には、IID_IHogeの&lt;EM&gt;宣言&lt;/EM&gt;も含まれています。&lt;/P&gt;
&lt;P&gt;Hoge_i.cは、GUIDの定義ファイルです。&lt;BR&gt;今回の例の場合、この中にIID_IHogeの&lt;EM&gt;定義&lt;/EM&gt;が含まれます。&lt;/P&gt;
&lt;P&gt;Hoge_p.cとdlldata.cは、このインターフェイスのプロキシとスタブを生成するためのソースファイルです。&lt;BR&gt;ここでは割愛。&lt;/P&gt;
&lt;P&gt;さて、これでコンポーネント側はできたとして（実装は小人さんが手伝ってくれました）、次はこれを利用するアプリ側を作りましょう。&lt;/P&gt;
&lt;P&gt;ここで問題です。&lt;BR&gt;アプリ側ではCoCreateInstanceを使うために、CLSID_HogeとIID_IHogeの&lt;EM&gt;定義&lt;/EM&gt;が必要です。&lt;BR&gt;しかし、CLSID_Hogeなんてものはどこにも定義してありません。&lt;BR&gt;それから、ユーザに渡したHoge_h.hには、IID_IHogeの&lt;EM&gt;宣言&lt;/EM&gt;しか入っていません。&lt;BR&gt;さぁどうしましょう？&lt;/P&gt;
&lt;P&gt;MicrosoftがWindows SDKで提供しているインターフェイスは、そのCLSIDやIIDの定義がスタティックライブラリに入っているものがあります。&lt;BR&gt;しかし、COMは本来、インポートライブラリ不要のアーキテクチャです。&lt;BR&gt;ヘッダファイルにでも入れて提供してあげれば済むことなので、このためにHoge.libなんて作りたくありません。&lt;/P&gt;
&lt;P&gt;IIDの定義は、Hoge_i.cに入っています。&lt;BR&gt;このファイルをユーザーに提供すればいいんでしょうか？&lt;BR&gt;できれば、ユーザーに渡すのはヘッダファイルだけにしたいところです。&lt;BR&gt;それとも、実体の定義を伴うヘッダファイルなんて邪道でしょうかね？&lt;/P&gt;
&lt;P&gt;CLSIDはどこで定義しましょう？&lt;BR&gt;IDLファイル中でも、こんな風にすればできます。&lt;/P&gt;&lt;PRE class=code&gt;&lt;FONT color=#0000ff&gt;import&lt;/FONT&gt; "oaidl.idl";
&lt;FONT color=#0000ff&gt;import&lt;/FONT&gt; "ocidl.idl";
[
 &lt;FONT color=#0000ff&gt;object&lt;/FONT&gt;,
 &lt;FONT color=#0000ff&gt;uuid&lt;/FONT&gt;( 9874C279-FE45-43a1-9ED6-ED667E5BA089 )
]
&lt;FONT color=#0000ff&gt;interface&lt;/FONT&gt; IHoge : IUnknown
{
 HRESULT Hoge();
}
[ &lt;FONT color=#0000ff&gt;uuid&lt;/FONT&gt;( 56BFECD7-0642-4594-9CA8-6C1B77DE0C95 ) ]
&lt;FONT color=#0000ff&gt;coclass&lt;/FONT&gt; Hoge
{
 [ &lt;FONT color=#0000ff&gt;default&lt;/FONT&gt; ] &lt;FONT color=#0000ff&gt;interface&lt;/FONT&gt; IHoge;
}&lt;/PRE&gt;
&lt;P&gt;これは、IHogeを実装するクラスHogeの定義です。&lt;BR&gt;こう定義してやると、Hoge_h.hにCLSID_Hogeの宣言が、Hoge_i.cに定義が、それぞれ生成されます。&lt;/P&gt;
&lt;P&gt;しかし、同時に、Hoge_h.hにHogeクラスの&lt;EM&gt;先行宣言&lt;/EM&gt;が加わります。&lt;BR&gt;このHogeクラスとは何者でしょうか？&lt;/P&gt;
&lt;P&gt;これはCOMクラスですから、そんなクラスを宣言されたところで、&lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; Hoge; でインスタンスを生成することはできません。&lt;BR&gt;先行宣言によって可能になるのは、その型のポインタ型を定義することくらいですが、メソッドの宣言が含まれないため、そのポインタを利用してメソッドを呼び出すことができません。&lt;BR&gt;第一、C++でCOMを扱うときに利用するのはインターフェイスポインタであって、CLSID以外でクラスの存在を意識することはないのです。クラスポインタなんて必要ありません。&lt;BR&gt;まったく&lt;EM&gt;役立たず&lt;/EM&gt;です。&lt;/P&gt;
&lt;P&gt;IDLファイルにcoclassだけでなくタイプライブラリの定義も加えてやれば、VBや.NETからの呼び出しが可能になり、そこでは&lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; Hoge;でのインスタンス生成が可能になります。&lt;BR&gt;しかし、そのためにHoge_h.hでHogeクラスが宣言されている必要はゼロです。VBや.NETは、C++のヘッダファイルを必要としないのですから。&lt;/P&gt;
&lt;P&gt;というわけで、&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ユーザにHoge_i.cは提供したくない 
&lt;LI&gt;IDLでcoclassは定義したくない&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;ということになりました。&lt;/P&gt;
&lt;P&gt;IDLでcoclassを定義しない以上、CLSIDの定義をMIDLに頼ることはできません。&lt;BR&gt;ならば、自分でヘッダファイルでも作って、そこに書いてやるしかないでしょう。&lt;BR&gt;せっかくファイルを作るのならば、IIDの定義もそっちでやってしまいましょう。&lt;BR&gt;特定のマクロが定義されているときは定義に、そうでないときは宣言になるようにスイッチしてあげればいいでしょう。&lt;BR&gt;事実、Windows SDKに含まれるDEFINE_GUIDはそうなっていますし、guidgen.exeはほとんどコピペで使えるDEFINE_GUID形式の表記を生成してくれますから、これを使えばいいでしょう。&lt;/P&gt;
&lt;P&gt;ふーむ&amp;#8230;これで最適解になりましたかね？&lt;BR&gt;MIDLが若干気に食わないものの、こうするのが定石、なのかな？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/113289.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>同値関係</title><link>http://blogs.wankuma.com/shannon/archive/2007/12/11/112462.aspx</link><pubDate>Tue, 11 Dec 2007 10:38:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/12/11/112462.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/112462.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/12/11/112462.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/112462.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/112462.aspx</trackback:ping><description>&lt;P&gt;あるインスタンスnがある。このインスタンスの真の型（動的な型）は問わないものとする。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;反射律：nの静的な型がAであるならば、nをAにキャストできる。 
&lt;LI&gt;対称律：nの静的な型がAであり、これをBにキャストできるならば、再度Aにキャストできる。 
&lt;LI&gt;推移律：nの静的な型がAであり、これをBにキャストしてからCにキャストできるならば、直接AからCにキャストできる。&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;この特徴は、特にCOMのQueryInterfaceにおいて顕著である。&lt;BR&gt;余談だが、COMのキャスト規則も書いておく。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;反射律：nの静的な型がIFooであるならば、n-&amp;gt;QueryInterface( IID_IFoo,&amp;nbsp;&amp;amp;m ); は成功する。 
&lt;LI&gt;対称律：nの静的な型がIFooであり、n-&amp;gt;QueryInterface( IID_IBar, &amp;amp;m ); が成功するならば、m-&amp;gt;QueryInterface( IID_IFoo, &amp;amp;o ); は成功する。 
&lt;LI&gt;推移律：nの静的な型がIFooであり、n-&amp;gt;QueryInterface( IID_IBar, &amp;amp;m ) が成功し、かつ m-&amp;gt;QueryInterface( IID_IPoo, &amp;amp;o ); が成功するならば、n-&amp;gt;QueryInterface( IID_IPoo, &amp;amp;o ); は成功する。 
&lt;LI&gt;nの型に関わらず、n-&amp;gt;QueryInterface( IID_IUnknown, &amp;amp;m ); は常に成功する。&lt;BR&gt;かつ、m の値は何度実行しても必ず同じになる（IUnknown 以外へのキャストの場合は同じになるとは限らない）。 
&lt;LI&gt;n-&amp;gt;QueryInterface( IID_IFoo, &amp;amp;m ); が一度成功したならば、何度実行しても必ず成功する。&lt;BR&gt;逆に、一度失敗したならば、何度実行しても必ず失敗する。&lt;/LI&gt;&lt;/UL&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/112462.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>メモリー図勉強しなおし宣言</title><link>http://blogs.wankuma.com/shannon/archive/2007/11/16/108635.aspx</link><pubDate>Fri, 16 Nov 2007 09:43:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/11/16/108635.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/108635.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/11/16/108635.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/108635.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/108635.aspx</trackback:ping><description>&amp;#8230;COM Interopでハマったorz&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/108635.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>私はこれでVB6を捨てました</title><link>http://blogs.wankuma.com/shannon/archive/2007/06/28/82675.aspx</link><pubDate>Thu, 28 Jun 2007 11:03:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/06/28/82675.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/82675.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/06/28/82675.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/82675.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/82675.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://bbs.wankuma.com/index.cgi?mode=al2&amp;amp;namber=4856"&gt;SHGetFileInfoとDestroyIcon&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;なんか涙ぐましいことしてるなぁ&amp;#8230;.NETのListViewにSendMessage か&amp;#8230;。&lt;/P&gt;
&lt;P&gt;いや、ちょっと昔を思い出して。&lt;/P&gt;
&lt;P&gt;VB6でね。エクスプローラもどきをつくろうとしたんですよ。&lt;BR&gt;デスクトップをルートとする仮想フォルダツリーもちゃんと表示したりして。&lt;/P&gt;
&lt;P&gt;SHGetFileInfoで、システムイメージリストのハンドルを取得するわけですよ。&lt;BR&gt;でも、VBのListViewに設定できるのは、あくまで「ImageListコントロール」だったんですね。&lt;BR&gt;しかも、その中身はIPictureDispじゃないといけないと来たもんだから、システムイメージリストの中身をOleCreatePictureIndirectで変換して、それを１個ずつImageListに追加してたんですね。&lt;BR&gt;既にあるものをわざわざ複製するなんて馬鹿らしいと思いながら。&lt;/P&gt;
&lt;P&gt;Windows SDKなら、SendMessageで一発なのにと。変換なんかしなくても、既にあるものがそのまま使えるのにと。&lt;BR&gt;VB6を捨ててC+Platform SDKの世界に飛び込んだきっかけはそれでした。&lt;/P&gt;
&lt;P&gt;.NETになっても、ImageList.Handleプロパティはあるくせに、ImageList.FromHandleメソッドは無いんだね&amp;#8230;&lt;/P&gt;
&lt;P&gt;以下は完全に余談。&lt;/P&gt;
&lt;P&gt;シャノンというハンドルは、恐れ多くも情報理論の開祖、Claude Elwood Shannon大先生にあやかってつけたものです。&lt;BR&gt;当時、データ圧縮にハマってまして、その端緒を開いたのがシャノンのエントロピー符号であったことに始まります。&lt;BR&gt;ちなみにあの頃は、「全てのアーカイバを集める」ということもやろうとしてました。後に、ほとんどのアーカイバは似たり寄ったりのアルゴリズムでできていること、アルゴリズムをちょこっと変えれば違うアーカイバができることを知って、止めてしまいましたけど。&lt;/P&gt;
&lt;P&gt;で、最初はLhasaのようなダイアログベースアーカイバを作ろうとしたんですが、次第に、書庫ファイルをフォルダとして扱えるようなエクスプローラライクなものへと構想が変わっていって、上記のような事態になったという次第。&lt;/P&gt;
&lt;P&gt;その後、エクスプローラライクなものを自作するより、エクスプローラそのものを利用した方がいいだろうということに気付き、シェル拡張を志し、その基礎たるCOMに手を染めるという流れで、脈々と今に続いていたりするのでした。&lt;/P&gt;
&lt;P&gt;# その割に、具体的な成果物はまだ何一つないんだけどナー('～`；)&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/82675.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>スレッド＠COM</title><link>http://blogs.wankuma.com/shannon/archive/2007/06/26/82397.aspx</link><pubDate>Tue, 26 Jun 2007 20:28:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/06/26/82397.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/82397.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/06/26/82397.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/82397.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/82397.aspx</trackback:ping><description>&lt;P&gt;COMの泥沼へようこそ&amp;#8230;ﾋﾋﾋ。&lt;/P&gt;
&lt;P&gt;どーにもわかんねぇことがあるんで訊いちゃおう。&lt;/P&gt;
&lt;DL&gt;
&lt;DT&gt;わかんねぇこと　その１&lt;/DT&gt;
&lt;DT&gt;STAスレッドからMTAオブジェクトのメソッドを呼んだら？&lt;/DT&gt;
&lt;DD&gt;MTAオブジェクトのメソッドが実行されるスレッドは、CoInitializeEx( NULL, COINIT_MULTITHREADED ) したスレッドとは限らず、COMが管理するスレッドプールのスレッドで呼ばれる？&lt;/DD&gt;
&lt;DD&gt;呼び出し元のSTAスレッドで呼ばれることはないと思うけど&amp;#8230;。&lt;/DD&gt;
&lt;DT&gt;わかんねぇこと　その２&lt;/DT&gt;
&lt;DT&gt;MTAスレッドからSTAオブジェクトを作って呼んだら？&lt;/DT&gt;
&lt;DD&gt;STAスレッドが勝手に作られて、そのスレッドコンテキストで実行される？&lt;/DD&gt;
&lt;DD&gt;MTAスレッドからSTAオブジェクトを作った数だけ、STAスレッドができちゃったりする？&lt;/DD&gt;&lt;/DL&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/82397.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>アパートメントのメモ書き</title><link>http://blogs.wankuma.com/shannon/archive/2007/05/25/78312.aspx</link><pubDate>Fri, 25 May 2007 15:06:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/05/25/78312.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/78312.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/05/25/78312.aspx#Feedback</comments><slash:comments>25</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/78312.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/78312.aspx</trackback:ping><description>&lt;P&gt;＃アパートじゃなくてホテル住まいとかしてみたいですネ&lt;BR&gt;＃でもCOMの記事書くための缶詰ってのは勘弁orz &lt;/P&gt;
&lt;P&gt;以下はメモ書きです。&lt;BR&gt;＃&lt;A href="http://blogs.wankuma.com/tocchann/archive/2007/05/24/78225.aspx"&gt;とっちゃん&lt;/A&gt;に負けるなー！おー！（ｲｲﾉｶｿﾝﾅｺﾄｲｯﾁｬｯﾃ&lt;BR&gt;COM+のコンテキストのことはわかりませんorz&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;アパートメントの種類 
&lt;UL&gt;
&lt;LI&gt;STA 
&lt;LI&gt;MTA 
&lt;LI&gt;TNA 
&lt;LI&gt;デフォルト&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;オブジェクトのスレッディングモデルの種類 
&lt;UL&gt;
&lt;LI&gt;Apartment 
&lt;LI&gt;Free 
&lt;LI&gt;Both 
&lt;LI&gt;Neutral 
&lt;LI&gt;なし&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;アパートメントとスレッディングモデルの組み合わせ 
&lt;LI&gt;STAの注意事項 
&lt;LI&gt;FTMとGIT 
&lt;LI&gt;CoMarshalInterThreadInterfaceInStream（長ぇよバカヤロー！&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;#8230;こんなところでいいかしら？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/78312.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>シャノン</dc:creator><title>やっべー</title><link>http://blogs.wankuma.com/shannon/archive/2007/05/25/78299.aspx</link><pubDate>Fri, 25 May 2007 14:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/shannon/archive/2007/05/25/78299.aspx</guid><wfw:comment>http://blogs.wankuma.com/shannon/comments/78299.aspx</wfw:comment><comments>http://blogs.wankuma.com/shannon/archive/2007/05/25/78299.aspx#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://blogs.wankuma.com/shannon/comments/commentRss/78299.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/shannon/services/trackbacks/78299.aspx</trackback:ping><description>&lt;P&gt;最近、わんくま内でCOMの話題がチラホラと&amp;#8230;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;まずい！&lt;/STRONG&gt;このままでは、「COMと言えばシャノン様」の構図ができる前に泡と消えてしまう！！&lt;/P&gt;
&lt;P&gt;週末で家のPCのOS再インストールしたら気合い入れて取り掛かるか&amp;#8230;&lt;BR&gt;＃この機にVistaに入れ替えよう&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/shannon/aggbug/78299.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>