タグ

ブックマーク / atata.sakura.ne.jp (2)

  • 8.IStreamとOleLoadPicture - COM研究室

    前回のサンプルに修正を加えて行くことにしましょう。 前回に引き続きOLEにおけるCOMインターフェースの使われ方を見ていきます。 今回実装対象となるインターフェースはIStreamです。このインターフェースを引数に取る関数は膨大な量になりますが、その中でも比較的簡単に使用でき、かつ、使用頻度の高いと思われるOleLoadPicture関数を取り上げます。 OleLoadPicture関数は、<olectl.h>の中で次のように定義されています。 WINOLECTLAPI OleLoadPicture(LPSTREAM lpstream, LONG lSize, BOOL fRunmode, REFIID riid, LPVOID FAR* lplpvObj); このことより、OleLoadPicture関数は第1引数として、IStreamインターフェースのポインタを取ることが分かります。

  • OLE on .NET Framework - Chapter.17 構造化ストレージ(1)

    2006/6/12 ・ルートストレージの解説を追記。 1.現在のサンプルの問題点と今後の方針 現在のサンプルでは、OLEサーバの起動にOleCreateFromFileを使用しています。この関数の7番目のパラメータには、構造化ストレージを示すIStorageインターフェースへのポインタを渡さなければなりません。現時点では、このパラメータにはメモリ上に作成した一時的な構造化ストレージを渡していますが、これは来のOLEの思想からは外れています。なぜならば、OLEは独自ドキュメントにオブジェクトを埋め込み、リンクするために開発されたにも関わらず、サンプルでは埋め込まれる側のオブジェクト(OleCreateFromFileでロードされるOLEファイル)の表示と操作を主目的としているからです。(まあ、これはコンテンツの構成上仕方のないことですが・・・) 思想から外れているだけなら特に問題とはなりま

    hikobae
    hikobae 2011/02/23
  • 1