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 に代わるものです。
継承階層
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 レジストリ コンポーネント (レジストラー) への静的リンクが作成される点が異なります。