更新 : 2007 年 11 月
DECLARE_OLECREATE を使用するクラスの実装ファイルに、このマクロまたは IMPLEMENT_OLECREATE を記述する必要があります。
IMPLEMENT_OLECREATE_FLAGS(class_name, external_name, nFlags, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8 )
パラメータ
class_name
実際のクラス名。external_name
ほかのアプリケーションに公開されるオブジェクト名。引用符で囲みます。nFlags
次のフラグのいずれかが入ります。
afxRegInsertable コントロールは、OLE オブジェクトの [オブジェクトの挿入] ダイアログ ボックスに表示されます。
afxRegApartmentThreading レジストリのスレッド モデルを ThreadingModel=Apartment に設定します。
**afxRegFreeThreading **レジストリのスレッド モデルを ThreadingModel=Free に設定します。
2 つのフラグ afxRegApartmentThreading と afxRegFreeThreading を組み合わせて、ThreadingModel=Both を設定できます。スレッド モデル登録の詳細については、Windows SDK の「InprocServer32」を参照してください。
- l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8
クラスの CLSID のコンポーネント。
解説
メモ : |
|---|
IMPLEMENT_OLECREATE_FLAGS を使用する場合は、nFlags パラメータを使用してオブジェクトがサポートするスレッド モデルを指定できます。シングルスレッド モデルだけをサポートする場合は、IMPLEMENT_OLECREATE を使用します。 |
外部名は、ほかのアプリケーションに公開される識別子です。クライアント アプリケーションは外部名を使って、オートメーション サーバーからこのクラスのオブジェクトを要求します。
OLE クラスの ID は、オブジェクトごとの一意な 128 ビットの識別子です。構文で示したように l、w1、w2、b1 ~ b8 で表される 1 つの long、2 つの WORD、8 つの BYTE で構成されます。アプリケーション ウィザードとコード ウィザードを使用すると、必要に応じて一意な OLE クラス ID を作成できます。
必要条件
ヘッダー : afxdisp.h
メモ :