分享方式:


伺服器註冊全域函式

這些函式支援在對象對應中註冊和取消註冊伺服器物件。

重要

下表所列的函式不能用於在 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

呼叫此函式可從執行中的物件表格移除 Class Factory。

ATLINLINE ATLAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE* pComModule);

參數

pComModule
COM 模組的指標。

傳回值

傳回成功時S_OK,或在失敗時傳回錯誤 HRESULT。

備註

此協助程式函式由 CComModule::RevokeClassObjects (ATL 7.0 中過時)和 CAtlExeModuleT::RevokeClassObjects 使用。

AtlComModuleGetClassObject

呼叫此函式會傳回 Class Factory。

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

另請參閱

函數