etc.negui.com.com

COM。
etc.negui.readme参照。
History:
1.010: [S] packageをNeGuiに移動。
1.00β13: [S]新規作成。このpackage以下のmoduleは全てこのmoduleより若いので新規作成は省略。
class ComException: etc.negui.system.exception.NeGuiException;
History:
1.020: [S] 継承元変更。
void ComInitialize();

void ComUnInitialize();

enum COM_CONTEXT;

INPROC_SERVER
このクラスのオブジェクトを作成および管理するコードは、呼び出し側と同じプロセスで実行されるDLLです。
INPROC_HANDLER
このクラスのオブジェクトを管理するコードはプロセス内ハンドラです。これはクライアントプロセス内で実行されるDLLで、クラスのインスタンスがリモートでアクセスされる際にこのクラスのクライアントサイド構造を作成します。
LOCAL_SERVER
このクラスのオブジェクトを作成および管理するEXEコードは同じマシン上で実行されますが、別のプロセス空間にロードされます。
ALL
上記の3つのフラグをすべて含んでいます。
abstract class ComBase: etc.negui.system.raii.Raii;

this(bool Suicide );

abstract size_t addRef();

abstract size_t release();

abstract IUnknown iUnKnow();

class Com(TKNOWN : IUnknown): ComBase;
ラッパー。
これでうまく行くのか非常に心配。
TKNOWN Known;

this(bool Suicide);

this(ref const CLSID ClsID, ref const GUID GuID, Com Com, COM_CONTEXT Context, bool Suicide = true);
History:
1.100: [P] CoCreateInstance失敗時に例外。
size_t addRef();

size_t release();

template query(T : IUnknown)

Com!(T) query(ref const GUID GuID );

IUnknown iUnKnow();

TKNOWN opDot();