タグ

COMに関するpopmarsのブックマーク (3)

  • Win32エラーコード一覧

    WindowsSDK 内の `winerror.h` や 他のエラーコードっぽいヘッダーからエラーコードっぽいのを抽出し、FormatMessage() で日語化しただけのものです^^; 結果出力させた環境は Windows10 ver.1703 (Creators Update)、実行バイナリを生成したのは VC2017 です。 (2017-05-30 結果出力を WinXP SP2 から更新しました! 12年ぶりに更新しました! 忘れてないよ!!) 出力結果の中で "---" となっているのは、メッセージの取得に失敗したものです かなり大きなテーブルなので、表示されるまで時間かかるかもしれません (2.2MBぐらいあります) COMにカテゴライズしてる後ろの方の結果はCOMのカテゴリなのか怪しい FormatMessage() で取り出すべきエラーコードじゃないのまで取り扱ってるよう

    popmars
    popmars 2008/02/07
    エラーコード 戻り値 win32
  • ATL で作成した COM オブジェクトに自前の構造体を定義して渡す

    ATL で作成した COM オブジェクトのメソッドに引数を渡したいときがあります。 渡さなければならない値の個数が少なければ、そのまま引数として並べてしまえば良いのですが、 引数の個数が多すぎる、あるいは、みてくれが悪いという理由で、どうしても構造体が使いたい場合があります。 カスタムインタフェース経由で渡す方法とディスパッチインタフェース経由で渡す方法の 2 つについて書いてあります。 なお、ディスパッチインタフェース経由での方法は当の意味での構造体を渡してはいませんので、 質的な解決にはなっていません。ご注意ください。 また、カスタムインタフェースとディスパッチインタフェースの詳細については、 私は上手に説明できるほど詳しくありませんので、申し訳ありませんが、ネットや書籍を参考にしてください。 なお、書籍については参考書籍としてあげてあります。 以下の説明では VC++ 6 と

    popmars
    popmars 2008/01/10
    構造体の渡し方とか
  • COM/DCOMのマーシャリングに伴う実行時エラー

    COM/DCOMは来はバイナリ規格ですが、インターフェースの仕様は、IDL (Interface Definition Language) を使って人間が読める形で定義するのが一般的です。 IDLのインターフェース定義で使えるデータ型は、C言語/C++言語のデータ型ととても良く似ています。実際、Visual C++ (VC++) を使ってソフトウェアを作る場合は、COM/DCOMの関数呼び出しは、ふつうの関数呼び出しとの違いは、ほとんど意識することがありません。 しかし、COM/DCOMのデータ型と、C言語/C++言語のデータ型とは、厳密には異なっています。注意しないと、コンパイルには成功しても、実行時に予期しないエラーが発生することになります。 ここでは、データ型のマーシャリングに伴う、COM/DCOMの実行時エラーを紹介します。

  • 1