伺服器註冊全域函式
這些函式支援在對象對應中註冊和取消註冊伺服器物件。
重要
下表所列的函式不能用於在 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。