次の方法で共有


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

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

重要

次の表に示す関数は、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 によって使用されます。

関連項目

関数