Out of Memory

ごめん、忘れてた。

目次

Blog 利用状況

ニュース

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

顔写真

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

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

Microsoft MVP for Windows SDK July 2007 - February 2008, Microsoft MVP for Visual C++ February 2008 - June 2009
Microsoft MVP for Windows SDK
July 2007 - February 2008
Microsoft MVP for Visual C++
February 2008 - June 2009

アクセサリ

あわせて読みたい

e-Words

アフィリエイト

記事カテゴリ

書庫

日記カテゴリ

タイプライブラリに保持されない属性

の一覧って、MSDNかどこかにあるんでしょうか?

# Atata!! 師匠のサイトの掲示板に書こうと思ったら、referer error!!!! って言われて書けなかったorz
# ここを見てくださっていることを願って。

投稿日時 : 2007年12月22日 0:17

Feedback

# re: タイプライブラリに保持されない属性 2007/12/22 16:21 Atata!!

師匠になった覚えはないんですがw

逆にタイプライブラリに含むことのできる属性については
Type Libraries and the Object Description Language
http://msdn2.microsoft.com/en-us/library/ms221567(VS.85).aspx
あたりが参考になるかと。
そーいえば、タイプライブラリをODLで定義していた時代もあったなぁ・・・。

あと、タイプライブラリで使用できる型については、MIDLで使用可能なプリミティブ型はすべて含まれていたと思います。

まぁ、こんなところでしょうか。

# re: タイプライブラリに保持されない属性 2007/12/23 15:55 シャノン

ありがとうございます。

> 師匠になった覚えはないんですがw

気にしないでw

> 逆にタイプライブラリに含むことのできる属性については
> Type Libraries and the Object Description Language
> あたりが参考になるかと。

ということは、タイプライブラリはODLで定義されている属性をサポートしているということですか?

# そういえば acf ファイルなんてのも何に使うのか知らないorz

# re: タイプライブラリに保持されない属性 2007/12/23 18:56 Atata!!

> ということは、タイプライブラリはODLで定義されている属性をサポートしているということですか?

ODLと互換性のある属性のみがタイプライブラリに含まれていると私は考えています。
# まぁ、ドキュメントを読む限りそーとしか取れないわけですが・・・。

以前、仕事でITypeLib(2)とITypeInfo(2)で取得可能なタイプライブラリの属性を調べたことがありましたが、
その時はODL属性以外は取得できないという結果が出ました。
タイプライブラリマーシャリングとカスタムマーシャリングの動作の差異もそれを示していると思います。
と思ってKB検索したら以下のような記事がありました。
http://support.microsoft.com/kb/236970/ja
# 長いことCOMの開発してきましたが、この記事は完全に見落としてましたなぁ・・・。


> # そういえば acf ファイルなんてのも何に使うのか知らないorz

ACFファイルはプロキシ/スタブコードの最適化をする時に使えます。
が、他に何が出来るかは私もよく知りません。
# wire_marshal を使った時に提示型がタイプライブラリに格納されない問題を回避できるかも?

# re: タイプライブラリに保持されない属性 2007/12/23 20:48 渋木宏明(ひどり)

>KB検索したら以下のような記事がありました。
>http://support.microsoft.com/kb/236970/ja

他にやりようがないようなところは仕方ないとは思うけど、個人的には、原則としてタイプライブラリで表現できないような属性の使用は避けるべき思います。

スクリプトから呼べたりすると実用だけでなくテストなんかでも有利なので、特別な理由がない限りはデュアルかなと。


# re: タイプライブラリに保持されない属性 2007/12/24 14:24 シャノン

> KB検索したら以下のような記事がありました。
> http://support.microsoft.com/kb/236970/ja

何かの本(Inside/Essential/Effective COMのどれかだと思いますが)に、「いずれタイプライブラリがバージョンアップして、プロキシ/スタブがサポートされなくなったときに…」とかいう記述があって泣きそうになりましたorz

> 他にやりようがないようなところは仕方ないとは思うけど、個人的には、原則としてタイプライブラリで表現できないような属性の使用は避けるべき思います。

それをやると IEnumXXX が軒並み全滅するんですorz

やはりVBの呪いなのか>タイプライブラリ
配列属性がサポートされないのは SafeArray があればいいからだし、iid_is がサポートされないのは IDispatch では要らないからでしょう。

# re: タイプライブラリに保持されない属性 2007/12/24 17:30 渋木宏明(ひどり)

プロクシ/スタブ方式はあんまりよくないと思うんだけど、MS 的には COM の 32bit/64bit ブリッジとかもやる気無いみたいなんで、このままうちゃらかされてオシマイなのかも ;-p

Count+Item で (^^;;; > IEnumXXX

# re: タイプライブラリに保持されない属性 2007/12/24 17:39 シャノン

> COM の 32bit/64bit ブリッジ

32bitコンポーネントを64bitから呼ぶとか、その逆とか?
やってくれるに越したことはないけど、できないと致命的な理由は見つからないかなぁ。

> Count+Item で (^^;;; > IEnumXXX

えーw

# re: タイプライブラリに保持されない属性 2007/12/25 22:51 Atata!!

> プロクシ/スタブ方式はあんまりよくないと思うんだけど

私の仕事的にはプロクシ/スタブ方式とタイプライブラリ方式の割合は3:7ぐらいでしょうか。
で、私の設計指針は以下のとおりです。
・システムの外部に公開する必要がなく、かつ、オートメーション互換でなければ、プロクシ/スタブ(って言うかカスタムインターフェース)
・上記以外はタイプライブラリ(って言うかデュアルインターフェース)

# 当然、同一システムで両者を混在させる場合もあります。

# re: タイプライブラリに保持されない属性 2007/12/27 3:27 渋木宏明(ひどり)

>やってくれるに越したことはないけど、できないと致命的な理由は見つからないかなぁ

64bit Windows で IE 使うとイライラしてきまっせ ;-p

# 月間ページビュー 2007年12月 2008/04/20 22:32 Out of Memory

月間ページビュー 2007年12月

タイトル  
名前  
Url
コメント