次の方法で共有


サーバー登録に関するグローバル関数

Active Template Library (ATL) は引き続きサポートされています。 ただし、機能の追加やドキュメントの更新は行われません。

これらの関数は、オブジェクト マップでのサーバー オブジェクトの登録と登録解除をサポートします。

重要

次の表に示す関数は、Windows ランタイムで実行されるアプリケーションでは使用できません。

名前 説明
AtlComModuleRegisterServer オブジェクト マップのオブジェクトをすべて登録します。
AtlComModuleUnregisterServer オブジェクト マップのオブジェクトの登録をすべて解除します。
AtlComModuleRegisterClassObjects この関数は、クラス オブジェクトを登録するために呼び出されます。
AtlComModuleRevokeClassObjects この関数は、COM モジュールからクラス オブジェクトを取り消す場合に呼び出されます。
AtlComModuleGetClassObject この関数は、クラス オブジェクトを取得するために呼び出されます。

要件

ヘッダー: atlbase.h

AtlComModuleRegisterServer

オブジェクト マップのオブジェクトをすべて登録します。

ATLINLINE ATLAPI AtlComModuleRegisterServer(
    _ATL_COM_MODULE* pComModule,
    BOOL bRegTypeLib,
    const CLSID* pCLSID);

パラメーター

pComModule
COM モジュールへのポインター。

bRegTypeLib
タイプ ライブラリを登録する場合は TRUE。

pCLSID
登録するオブジェクトの CLSID をポイントします。 NULL の場合、オブジェクト マップ内のすべてのオブジェクトが登録されます。

戻り値

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

解説

AtlComModuleRegisterServer は、ATL の自動生成されたオブジェクト マップを走査し、各オブジェクトをマップに登録します。 pCLSID が NULL ではない場合は、pCLSID から参照されるオブジェクトだけが登録されます。それ以外の場合、すべてのオブジェクトが登録されます。

この関数は、CAtlComModule::RegisterServer から呼び出されます。

AtlComModuleUnregisterServer

オブジェクト マップのオブジェクトの登録をすべて解除します。

ATLINLINE ATLAPI AtlComModuleUnregisterServer(
    _ATL_COM_MODULE* pComModule,
    BOOL bUnRegTypeLib,
    const CLSID* pCLSID);

パラメーター

pComModule
COM モジュールへのポインター。

bUnRegTypeLib
タイプ ライブラリを登録する場合は TRUE。

pCLSID
登録解除するオブジェクトの CLSID を指します。 NULL の場合、オブジェクト マップ内のすべてのオブジェクトが登録解除されます。

戻り値

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

解説

AtlComModuleUnregisterServer は、ATL の自動生成されたオブジェクト マップを走査し、各オブジェクトをマップから登録解除します。 pCLSID が NULL ではない場合は、pCLSID から参照されるオブジェクトだけが登録解除されます。それ以外の場合、すべてのオブジェクトが登録解除されます。

この関数は、CAtlComModule::UnregisterServer から呼び出されます。

AtlComModuleRegisterClassObjects

この関数は、クラス オブジェクトを登録するために呼び出されます。

ATLINLINE ATLAPI AtlComModuleRegisterClassObjects(
    _ATL_COM_MODULE* pComModule,
    DWORD dwClsContext,
    DWORD dwFlags);

パラメーター

pComModule
COM モジュールへのポインター。

dwClsContext
クラス オブジェクトを実行するコンテキストを指定します。 指定できる値は、CLSCTX_INPROC_SERVER、CLSCTX_INPROC_HANDLER、または CLSCTX_LOCAL_SERVER です。 詳細については、CLSCTX に関するページを参照してください。

dwFlags
クラス オブジェクトへの接続の種類を決定します。 指定できる値は、REGCLS_SINGLEUSE、REGCLS_MULTIPLEUSE、または REGCLS_MULTI_SEPARATE です。 詳細については、REGCLS に関するページを参照してください。

戻り値

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

解説

このヘルパー関数は、CComModule::RegisterClassObjects (ATL 7.0 で廃止) と CAtlExeModuleT::RegisterClassObjects によって使用されます。

AtlComModuleRevokeClassObjects

クラス ファクトリをランニング オブジェクト テーブルから削除します。

ATLINLINE ATLAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE* pComModule);

パラメーター

pComModule
COM モジュールへのポインター。

戻り値

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

解説

このヘルパー関数は、CComModule::RevokeClassObjects (ATL 7.0 で廃止) と CAtlExeModuleT::RevokeClassObjects によって使用されます。

AtlComModuleGetClassObject

この関数は、クラス ファクトリを返すために呼び出されます。

ATLINLINE ATLAPI AtlComModuleGetClassObject(
    _ATL_COM_MODULE* pComModule,
    REFCLSID rclsid,
    REFIID riid,
    LPVOID* ppv);

パラメーター

pComModule
COM モジュールへのポインター。

rclsid
作成するオブジェクトの CLSID。

riid
要求されたインターフェイスの IID。

ppv
riid によって識別されるインターフェイス ポインターへのポインター。 オブジェクトでこのインターフェイスがサポートされていない場合、ppv は NULL に設定されます。

戻り値

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

解説

このヘルパー関数は、CComModule::GetClassObject (ATL 7.0 で廃止) と CAtlDllModuleT::GetClassObject によって使用されます。

関連項目

関数