ATL (Active Template Library) の概念

Active Template Library (ATL) は、小さくて高速のコンポーネント オブジェクト モデル (COM) オブジェクトを作成できる、テンプレートに基づく C++ クラスのセットです。 ストックの実装、デュアル インターフェイス、標準 COM 列挙子インターフェイス、接続ポイント、ティアオフ インターフェイス、ActiveX コントロールなど、COM の重要な機能が特別にサポートされています。

ATL プログラミングを多用する場合は、COM プログラミングが簡単になるように設計されている COM と .NET の属性について、さらに詳しく学習する必要があります。 詳しくは、Attributed Programming (属性付きプログラミング) に関するページをご覧ください。 (COM および .NET の属性を、C++ 標準の [[attribute]] 機能と混同しないようにしてください。)

このセクションの内容

COM と ATL の概要
コンポーネント オブジェクト モデル (COM) の背後にある主要な概念について説明します。 ここでは、ATL とはどのようなもので、どういうときに使う必要があるかについても簡単に説明します。

ATL COM オブジェクトの基礎
さまざまな ATL クラスの間の関係と、それらのクラスを実装する方法について説明します。

デュアル インターフェイスと ATL
ATL の観点からデュアル インターフェイスについて説明します。

ATL のコレクションと列挙子
ATL でのコレクションと列挙子の実装および作成について説明します。

複合コントロールの基本
複合コントロールを作成する詳細な手順について説明します。 複合コントロールは、他の ActiveX コントロールまたは Windows コントロールを含むことができる ActiveX コントロールの種類です。

ATL コントロール コンテインメント : Q & A 集
ATL でのコントロールのホストに関連する基本的な質問について説明します。

ATL COM プロパティ ページ
COM プロパティ ページを指定および実装する方法を示します。

DHTML コントロールの ATL サポート
DHTML コントロールを作成する詳細な手順について説明します。

ATL コネクション ポイント
接続ポイントの概要と ATL での実装方法について説明します。

イベント処理と ATL
ATL の IDispEventImpl および IDispEventSimpleImpl クラスを使って COM イベントを処理するために必要な手順について説明します。

ATL とフリー スレッド マーシャラー
独自のクラスでフリー スレッド マーシャラー (FTM) を集計できるようにする ATL シンプル オブジェクト ウィザードのオプションの詳細を説明します。

プロジェクトのスレッド モデルの指定
プロジェクトでのスレッドに関連する実行時のパフォーマンスの制御に使用できるマクロについて説明します。

ATL モジュール クラス
ATL 7.0 の新しいモジュール クラスについて説明します。 モジュール クラスでは、ATL で必要な基本機能が実装されています。

ATL サービス
サービスが実装されるときに発生する一連のイベントについて説明します。 サービスの開発に関連する概念についても説明します。

ATL ウィンドウ クラス
ATL でスーパークラス ウィンドウとサブクラス ウィンドウを作成する方法について説明します。 ATL ウィンドウ クラスは COM クラスではありません。

ATL コレクション クラス
ATL で配列とマップを使用する方法について説明します。

ATL レジストリ コンポーネント (レジストラー)
ATL のスクリプト構文と置き換え可能パラメーターについて説明します。 また、レジストラーへの静的リンクを設定する方法も説明します。

ATL および C ランタイム コードによるプログラミング
C ランタイム ライブラリ (CRT) への静的または動的なリンクの利点について説明します。

CComBSTR を使用したプログラミング
CComBSTR でプログラミングするときに注意する必要のあるいくつかの状況について説明します。

エンコーディングのリファレンス
atlenc.h の uuencode、hexadecimal、UTF8 など、一般的なインターネット標準でのエンコードをサポートする関数とマクロを提供します。

ユーティリティのリファレンス
CPathT および CUrl の形式のパスと URL を操作するためのコードを提供します。 スレッド プール CThreadPool を独自のアプリケーションで使用できます。 このコードは、atlpath.h および atlutil.h に含まれます。

ATL チュートリアル
コントロールの作成手順について説明し、プロセスでの ATL の基本を示します。

ATL のサンプル
ATL のサンプル プログラムの説明とリンクを提供します。

ATL プロジェクトの作成
ATL プロジェクト ウィザードについての説明が含まれます。

ATL コントロール ウィザード
クラスを追加する方法について説明します。

属性付きプログラミング
属性を使って COM プログラミングを簡単にする方法の概要を説明し、さらに詳細なトピックへのリンクを提供します。

ATL のクラスの概要
ATL クラスに関する参照情報とリンクを提供します。