VCでのATLオブジェクトの作成方法

「ATL COM Wizardr」と「ATL オブジェクトウィザード」の2段階で作成する。

新規作成→ATL COM AppWizardを選択。

ここは、通常のMFCでアプリケーションを開発するように、「ATL COM AppWizard」を選択し、OKを押下します。

サーバータイプを選択。

作成する実行形式を選択します。
ダイナミックリンクライブラリ インプロセスのサーバー(DLL形式)を作成。ActiveXを作成する場合もこちら。
実行可能ファイル アウトプロセスのサーバー(EXE形式)を作成
サービス Win NT/2000/XPなどのサービスを作成
サーバータイプのほかのオプションは以下のとおりです。

プロキシ/スタブコードのマージ許可
DLLの場合のみ選択可能
マーシャリングコードをDLLにマージするかどうかのオプション。
マーシャリングとは、プロセス間や、マシン間での情報の受け渡しを行うためのメカニズム。

MFCのサポート
DLLの場合のみ選択可能
CStringなどのウィンドウに関係しないクラスのみ利用可能になる。
STLで同等の機能がある場合はSTLを使うことが望まれる。

MTSのサポート
Microsoft Transaction Serverに対応するコンポーネントを作成する際に選択する。

挿入→ATLオブジェクトの新規作成

ATL COM AppWizardが完了しただけでは、何もできないため、オブジェクトを挿入する必要があります。
作成するオブジェクトを選択して次へボタンを押下します。
ここで選択できるものは、4つにカテゴリが分けられています。
オブジェクト
シンプルオブジェクト COMとして最小限の機能を持ったCOMオブジェクト
アドオンオブジェクト Visual C++シェルを拡張するためのオブジェクト
Internet Explorerオブジェクト IE上で動作するのに必要なインターフェイスを持ったオブジェクトが作成される。
ActiveXサーバーコンポーネント IISのアクティブサーバーがインクルードされる。オブジェクトは集約できない。
MS Transaction Serverコンポーネント MTSに必要なヘッダファイルがインクルードされる。オブジェクトは集約できない。
コンポーネントレジストラオブジェクト ICOmponentRegistrarインターフェイスをインプリメントするオブジェクト。
MMCスナップ Microsoft BookOfficeに含まれるMMCのスナップイン用のオブジェクト

コントロール
フルコントロール すべてのコンテナのインターフェイスをサポートするコントロール。
ライトコントロール IE上で動作するコントロールオブジェクト。
複合コントロール 複数のコントロールを管理するコントロール
HTMLコントロール DHTMLリソースをインクルードし、内部にWebページを表示するコントロール
プロパティページ コントロールで使用するプロパティページをインプリメントするオブジェクト。
ライト複合コントロール 複合コントロールからいくつかのインターフェイスが除かれたオブジェクト
ライトHTMLコントロール HTMLコントロールからいくつかのインターフェイスが除かれたオブジェクト

その他
ダイアログ ダイアログボックスをインプリメントするオブジェクト

データアクセス
プロバイダ OLE DB プロバイダのコードが追加されたオブジェクト
コンシューマ OLE DB コンシューマのコードが追加されたオブジェクト

VCでのATLオブジェクトの作成方法(シングルオブジェクト)

カテゴリで、シングルオブジェクトを選択します。

ATLオブジェクトウィザードのプロパティ

2画面には2つのタブがあり、1枚目のタブは、C++グループのショートネームの欄に名前を入力することでほかの項目が自動的に埋まっていきます。
2枚目のタブ、アトリビュートはスレッドモデル等を設定します。