タグ

comに関するunaristのブックマーク (8)

  • COMのカレンダー | Advent Calendar 2014 - Qiita

    今更ながらComponent Object ModelのCOMです。少しでも関係すると思えば、何でもOKです。埋まらなかった日は作成者が必死に書きます。 WinRT APIWindowsストアアプリ)で再び(微妙に?)脚光を浴びているようなそうでもないような。とにもかくにも、今もWindowsネイティブコードの世界に渦巻くシステム、あるいは概念、それがCOMです(よね?)。

    COMのカレンダー | Advent Calendar 2014 - Qiita
    unarist
    unarist 2016/07/04
  • C++からWindows APIを呼び易くする

    Windows APIの多くはC言語を前提としています。次のように戻り値がHRESULTなどのエラーコードとなり、真の戻り値は関数の最後の引数にポインターとして返される構造をしているものが多々あります。 HRESULT Direct3DCreate9Ex( UINT SDKVersion, IDirect3D9EX **ppD3D ); これをC++言語から扱いやすくしたいと思います。 一般的には次のようなcheck()関数で異常値については例外を投げることになるでしょう。 void check(HRESULT hr){ if(FAILED(hr)) throw hr; } 題は真の戻り値です。 API関数には任意の引数があるため最後の引数を扱うのは困難です。幸いC++言語には可変長テンプレート引数があり、それをうまく扱うstd::tupleクラスとstd::tuple_elementク

    unarist
    unarist 2016/05/07
    COM周りのAPIでHRを例外に変換してoutパラメータを戻り値で取得する感じの
  • 艦これ 司令部室について

    F# 談話室の15回に参加し、艦これ 司令部室について発表してきました。これに合わせてGitHubでリポジトリも公開しました。 COMの素晴らしさを力説し、また布教してきました。比較的に好感触でした。 たいしたことをは書いていませんが、発表に使ったプレゼンテーションはこちら COMダメ、絶対! #fsroom — 赤ペン先生テラモナギ (@teramonagi) June 8, 2014

    unarist
    unarist 2015/11/16
    F#製だったのかー
  • C# COM object with a dynamic interface

    I'd like to build a COM visible C# class, say DynamicComponent, that would provide a dynamic interface through COM. Internally this class would maintain a dictionary of delegates: "GetTheAnswer" -> () => { return 42; } "Add" -> (int a, int b) => { return a + b; } ... The client code would be some VBA. Here is the workflow I naively imagine: from the Excel/VBA editor the user references the TLB the

    C# COM object with a dynamic interface
    unarist
    unarist 2015/07/24
  • C#におけるCOMインターフェイスの呼び出しがうまくいかないです・・・

    エクスプローラで表示されるサムネイルのイメージを取り出したく、IShellFolderインターフェイスをネットで幾つか調べ、試行錯誤しているのですがうまく動きません。 呼び出しているどのメソッドも動かないため、もしかしたらコーディング上の問題だけではなく、プロジェクトの設定や環境にも問題があるのか・・・と思うのですが何か御存知の方、教えて頂けないでしょうか。 呼び出したのは、BindToObject、GetUIObjectOf、ParseDisplayNameですが、どれもダメでした。 なおWin7 64bit環境だったのでAnyCPUをやめて32bitにしてみたりもしましたが、結果は変わりませんでした。 恐れ入りますがご教示頂けると幸いです。 static Guid IID_IExtractImage = new Guid("{BB2E617C-0920-11d1-9A0B-00C04F

    C#におけるCOMインターフェイスの呼び出しがうまくいかないです・・・
    unarist
    unarist 2015/02/11
    C#からCOMライブラリを使う時のtips
  • Pure .NET DirectShow Filters in C#

    Article describes how to make DirectShow Filters in .NET, it consist of BaseClasses and couple of samples Download Example Filters binaries - 124.1 KB Download BaseClasses and Filters sources - 143.1 KB Download sample applications sources - 75.8 KB Download sample applications binaries - 134.4 KB Introduction In this post I describe how to make DirectShow filters in pure C#. I made the BaseClasse

    Pure .NET DirectShow Filters in C#
    unarist
    unarist 2012/09/16
    できるとは思っていたけどまさかやる人がいたとは…
  • アパートメントモデルと、.NETのSTAThreadAttribute - Bug Catharsis

    アーパートメントモデルの種類COMコンポーネント*1は、大きくシングルスレッドアパートメントモデル(STA)と マルチスレッドアパートメントモデル(MTA)に分けることができる。 レンタルスレッドアパートメントモデル(RTA)というのもあるようですが、詳細不明のため割愛します。 ■シングルスレッドアパートメント(Single Thread Apartment) シングルスレッドアパートメントは1つのスレッドから構成されているので、 シングルスレッドアパートメントの中に存在しているすべての COM オブジェクトは、 そのアパートメントに属する1つのスレッドからのメソッド呼び出ししか受け取ることができません。 シングルスレッドアパートメントの中の COM オブジェクトに対するすべてのメソッド呼び出しは、 そのシングルスレッドアパートメントのスレッドのウィンドウ メッセージ キューによって同期さ

    アパートメントモデルと、.NETのSTAThreadAttribute - Bug Catharsis
    unarist
    unarist 2010/12/04
    ActiveXの前身がOLEだったのか・・・
  • 1