共用方式為


CAtlDllModuleT 類別

這個類別代表 DLL 的模組。

語法

template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>

參數

T
衍生自 CAtlDllModuleT 的類別。

成員

公用建構函式

名稱 描述
CAtlDllModuleT::CAtlDllModuleT 建構函式。
CAtlDllModuleT::~CAtlDllModuleT 解構函式。

公用方法

名稱 描述
CAtlDllModuleT::D llCanUnloadNow 測試是否可以卸載 DLL。
CAtlDllModuleT::D llGetClassObject 傳回類別處理站。
CAtlDllModuleT::D llMain 動態連結程式庫 (DLL) 的選擇性進入點。
CAtlDllModuleT::D llRegisterServer 將專案新增至 DLL 中物件的系統登錄。
CAtlDllModuleT::D llUnregisterServer 移除 DLL 中物件之系統登錄中的專案。
CAtlDllModuleT::GetClassObject 傳回類別處理站。 DllGetClassObject 叫用

備註

CAtlDllModuleT 代表動態連結程式庫 (DLL) 的模組,並提供所有 DLL 專案所使用的函式。 CAtlModuleT 類別的 這個特製化包含註冊的支援。

如需 ATL 模組的詳細資訊,請參閱 ATL 模組類別

繼承階層架構

_ATL_MODULE

CAtlModule

CAtlModuleT

CAtlDllModuleT

需求

標頭: atlbase.h

CAtlDllModuleT::CAtlDllModuleT

建構函式。

CAtlDllModuleT() throw();

CAtlDllModuleT::~CAtlDllModuleT

解構函式。

~CAtlDllModuleT() throw();

CAtlDllModuleT::D llCanUnloadNow

測試是否可以卸載 DLL。

HRESULT DllCanUnloadNow() throw();

傳回值

如果 DLL 可以卸載,則傳回S_OK;如果 DLL 無法卸載,則傳回S_FALSE。

CAtlDllModuleT::D llGetClassObject

傳回類別處理站。

HRESULT DllGetClassObject(
    REFCLSID rclsid,
    REFIID riid,
    LPVOID* ppv) throw();

參數

rclsid
要建立之物件的 CLSID。

riid
所要求介面的 IID。

Ppv
riid 識別之介面指標的指標。 如果物件不支援這個介面, ppv 會設定為 Null。

傳回值

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

CAtlDllModuleT::D llMain

動態連結程式庫 (DLL) 的選擇性進入點。

BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();

參數

dwReason
如果設定為 DLL_PROCESS_ATTACH,則會停用DLL_THREAD_ATTACH和DLL_THREAD_DETACH通知呼叫。

lpReserved
保留。

傳回值

一律會傳回 TRUE。

備註

停用DLL_THREAD_ATTACH和DLL_THREAD_DETACH通知呼叫,對於具有許多 DLL、經常建立和刪除線程的多執行緒應用程式,以及其 DLL 不需要附件/卸離的這些執行緒層級通知,可能是有用的優化。

CAtlDllModuleT::D llRegisterServer

將專案新增至 DLL 中物件的系統登錄。

HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();

參數

bRegTypeLib
如果要註冊型別程式庫,則為 TRUE。 預設值為 TRUE。

傳回值

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

CAtlDllModuleT::D llUnregisterServer

移除 DLL 中物件之系統登錄中的專案。

HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();

參數

bUnRegTypeLib
如果型別程式庫要從登錄中移除,則為 TRUE。 預設值為 TRUE。

傳回值

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

CAtlDllModuleT::GetClassObject

建立指定 CLSID 的物件。

HRESULT GetClassObject(
    REFCLSID rclsid,
    REFIID riid,
    LPVOID* ppv) throw();

參數

rclsid
要建立之物件的 CLSID。

riid
所要求介面的 IID。

Ppv
riid 識別之介面指標的指標。 如果物件不支援這個介面, ppv 會設定為 Null。

傳回值

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

備註

這個方法是由 CAtlDllModuleT::D llGetClassObject 所呼叫,並隨附于回溯相容性。

另請參閱

CAtlModuleT 類別
CAtlDllModuleT 類別
類別概觀
模組類別