サーバー登録に関するグローバル関数
これらの関数は、オブジェクト マップでのサーバー オブジェクトの登録と登録解除をサポートします。
重要
次の表に示す関数は、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 によって使用されます。