CAtlModule クラス

このクラスは、いくつかの ATL モジュールクラスで使用されるメソッドを提供します。

構文

class ATL_NO_VTABLE CAtlModule : public _ATL_MODULE

メンバー

パブリック コンストラクター

名前 説明
CAtlModule::CAtlModule コンストラクター。
CAtlModule::~CAtlModule デストラクター。

パブリック メソッド

名前 説明
CAtlModule::AddCommonRGSReplacements ATL レジストリコンポーネント (レジストラー) の置換マップにパラメーターを追加するには、このメソッドをオーバーライドします。
CAtlModule::AddTermFunc モジュールが終了したときに呼び出される新しい関数を追加します。
CAtlModule::GetGITPtr グローバル インターフェイス ポインターを返します。
CAtlModule::GetLockCount ロック数を返します。
CAtlModule::Lock ロック数をインクリメントします。
CAtlModule::Term すべてのデータ メンバーを解放します。
CAtlModule::Unlock ロック カウントをデクリメントします。
CAtlModule::UpdateRegistryFromResourceD 指定したリソースに含まれているスクリプトを実行して、オブジェクトの登録または登録解除を行います。
CAtlModule::UpdateRegistryFromResourceDHelper このメソッドは、レジストリの更新を実行するために UpdateRegistryFromResourceD によって呼び出されます。
CAtlModule::UpdateRegistryFromResourceS 指定したリソースに含まれているスクリプトを実行して、オブジェクトの登録または登録解除を行います。 このメソッドは、ATL レジストリ コンポーネントに静的にリンクします。

パブリック データ メンバー

名前 説明
CAtlModule::m_libid 現在のモジュールの GUID を格納します。
CAtlModule::m_pGIT グローバル インターフェイス テーブルへのポインター。

解説

このクラスは、CAtlDllModuleT クラスCAtlExeModuleT クラスCAtlServiceModuleT クラス により使用され、それぞれ DLL アプリケーション、EXE アプリケーション、Windows サービスのサポートを提供します。

ATL のモジュールの詳細については、「ATL モジュール クラス」を参照してください。

このクラスは、ATL の以前のバージョンで使用されていた古い CComModule Class に代わるものです。

継承階層

_ATL_MODULE

CAtlModule

必要条件

ヘッダー: atlbase.h

CAtlModule::AddCommonRGSReplacements

ATL レジストリコンポーネント (レジストラー) の置換マップにパラメーターを追加するには、このメソッドをオーバーライドします。

virtual HRESULT AddCommonRGSReplacements(IRegistrarBase* /* pRegistrar*/) throw() = 0;

パラメーター

pRegistrar
予約済み。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

置き換え可能パラメーターを使用すると、レジストラーのクライアントが実行時のデータを指定できます。 これを行うために、レジストラーは、スクリプト内の置き換え可能パラメーターに関連付けられた値を入力する置換マップを保持します。 レジストラーにより、これらのエントリが実行時に作成されます。

詳細については、「置換可能なパラメーターの使用 (レジストラーのプリプロセッサ)」を参照してください。

CAtlModule::AddTermFunc

モジュールが終了したときに呼び出される新しい関数を追加します。

HRESULT AddTermFunc(_ATL_TERMFUNC* pFunc, DWORD_PTR dw) throw();

パラメーター

pFunc
追加する関数へのポインター。

dw
関数に渡されるユーザー定義データ。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

CAtlModule::CAtlModule

コンストラクター。

CAtlModule() throw();

解説

データ メンバーを初期化し、モジュールのスレッドの周囲のクリティカル セクションを開始します。

CAtlModule::~CAtlModule

デストラクター。

~CAtlModule() throw();

解説

すべてのデータ メンバーを解放します。

CAtlModule::GetGITPtr

グローバル インターフェイス テーブルへのポインターを取得します。

virtual HRESULT GetGITPtr(IGlobalInterfaceTable** ppGIT) throw();

パラメーター

ppGIT
グローバル インターフェイス テーブルへのポインターを受け取る変数へのポインター。

戻り値

成功した場合は S_OK、失敗した場合はエラー コードが返されます。 ppGITが NULL と等しい場合、E_POINTER が返されます。

解説

グローバル インターフェイス テーブル オブジェクトが存在しない場合は、作成され、そのアドレスがメンバー変数 CAtlModule::m_pGIT に格納されます。

デバッグ ビルドでは、ppGIT が NULL と等しい場合、またはグローバル インターフェイス テーブル ポインターを取得できない場合にアサーション エラーが発生します。

グローバル インターフェイス テーブルの詳細については、「IGlobalInterfaceTable」を参照してください。

CAtlModule::GetLockCount

ロック数を返します。

virtual LONG GetLockCount() throw();

戻り値

ロック数を返します。 この値は、診断やデバッグに役立ちます。

CAtlModule::Lock

ロック数をインクリメントします。

virtual LONG Lock() throw();

戻り値

ロック数をインクリメントし、更新された値を返します。 この値は、診断やデバッグに役立ちます。

CAtlModule::m_libid

現在のモジュールの GUID を格納します。

static GUID m_libid;

CAtlModule::m_pGIT

グローバル インターフェイス テーブルへのポインター。

IGlobalInterfaceTable* m_pGIT;

CAtlModule::Term

すべてのデータ メンバーを解放します。

void Term() throw();

解説

すべてのデータ メンバーを解放します。 このメソッドは、デストラクターによって呼び出されます。

CAtlModule::Unlock

ロック カウントをデクリメントします。

virtual LONG Unlock() throw();

戻り値

ロック数をデクリメントし、更新された値を返します。 この値は、診断やデバッグに役立ちます。

CAtlModule::UpdateRegistryFromResourceD

指定したリソースに含まれているスクリプトを実行して、オブジェクトの登録または登録解除を行います。

HRESULT WINAPI UpdateRegistryFromResourceD(
    UINT nResID,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

HRESULT WINAPI UpdateRegistryFromResourceD(
    LPCTSTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

パラメーター

lpszRes
リソース名。

nResID
リソース ID。

bRegister
オブジェクトを登録する必要がある場合は TRUE。それ以外の場合は FALSE。

pMapEntries
スクリプトの置換可能なパラメーターに関連付けられている値を格納する置換マップへのポインター。 ATL により、自動的に %MODULE% が使用されます。 追加の置き換え可能なパラメーターを使用するには、「CAtlModule::AddCommonRGSReplacements」を参照してください。 それ以外の場合は、既定値 NULL を使用します。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

lpszRes または nResID によって指定されるリソースに含まれるスクリプトを実行します。 bRegister が TRUE の場合、このメソッドはオブジェクトをシステム レジストリに登録します。それ以外の場合は、レジストリからオブジェクトを削除します。

ATL レジストリ コンポーネント (レジストラー) に静的にリンクするには、「CAtlModule::UpdateRegistryFromResourceS」を参照してください。

このメソッドは、CAtlModule::UpdateRegistryFromResourceDHelper および IRegistrar::ResourceUnregister を呼び出します。

CAtlModule::UpdateRegistryFromResourceDHelper

このメソッドは、レジストリの更新を実行するために UpdateRegistryFromResourceD によって呼び出されます。

inline HRESULT WINAPI UpdateRegistryFromResourceDHelper(
    LPCOLESTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

パラメーター

lpszRes
リソース名。

bRegister
オブジェクトを登録するかどうかを示します。

pMapEntries
スクリプトの置換可能なパラメーターに関連付けられている値を格納する置換マップへのポインター。 ATL により、自動的に %MODULE% が使用されます。 追加の置き換え可能なパラメーターを使用するには、「CAtlModule::AddCommonRGSReplacements」を参照してください。 それ以外の場合は、既定値 NULL を使用します。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

このメソッドは、CAtlModule::UpdateRegistryFromResourceD の実装を提供します。

CAtlModule::UpdateRegistryFromResourceS

指定したリソースに含まれているスクリプトを実行して、オブジェクトの登録または登録解除を行います。 このメソッドは、ATL レジストリ コンポーネントに静的にリンクします。

HRESULT WINAPI UpdateRegistryFromResourceS(
    UINT nResID,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

HRESULT WINAPI UpdateRegistryFromResourceS(
    LPCTSTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

パラメーター

nResID
リソース ID。

lpszRes
リソース名。

bRegister
リソース スクリプトを登録する必要があるかどうかを示します。

pMapEntries
スクリプトの置換可能なパラメーターに関連付けられている値を格納する置換マップへのポインター。 ATL により、自動的に %MODULE% が使用されます。 追加の置き換え可能なパラメーターを使用するには、「CAtlModule::AddCommonRGSReplacements」を参照してください。 それ以外の場合は、既定値 NULL を使用します。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

CAtlModule::UpdateRegistryFromResourceD に似ていますが、CAtlModule::UpdateRegistryFromResourceS により ATL レジストリ コンポーネント (レジストラー) への静的リンクが作成される点が異なります。

関連項目

_ATL_MODULE
クラスの概要
モジュール クラス
レジストリ コンポーネント (レジストラー)