Classe CAtlDllModuleT
Questa classe rappresenta il modulo per una DLL.
Sintassi
template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>
Parametri
T
Classe derivata da CAtlDllModuleT
.
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CAtlDllModuleT::CAtlDllModuleT | Costruttore. |
CAtlDllModuleT::~CAtlDllModuleT | Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CAtlDllModuleT::D llCanUnloadNow | Verifica se la DLL può essere scaricata. |
CAtlDllModuleT::D llGetClassObject | Restituisce una class factory. |
CAtlDllModuleT::D llMain | Punto di ingresso facoltativo in una libreria a collegamento dinamico (DLL). |
CAtlDllModuleT::D llRegisterServer | Aggiunge voci al Registro di sistema per gli oggetti nella DLL. |
CAtlDllModuleT::D llUnregisterServer | Rimuove le voci nel Registro di sistema per gli oggetti nella DLL. |
CAtlDllModuleT::GetClassObject | Restituisce una class factory. Richiamato da DllGetClassObject. |
Osservazioni:
CAtlDllModuleT
rappresenta il modulo per una libreria a collegamento dinamico (DLL) e fornisce funzioni usate da tutti i progetti DLL. Questa specializzazione della classe CAtlModuleT include il supporto per la registrazione.
Per altre informazioni sui moduli in ATL, vedere Classi di moduli ATL.
Gerarchia di ereditarietà
CAtlDllModuleT
Requisiti
Intestazione: atlbase.h
CAtlDllModuleT::CAtlDllModuleT
Costruttore.
CAtlDllModuleT() throw();
CAtlDllModuleT::~CAtlDllModuleT
Distruttore.
~CAtlDllModuleT() throw();
CAtlDllModuleT::D llCanUnloadNow
Verifica se la DLL può essere scaricata.
HRESULT DllCanUnloadNow() throw();
Valore restituito
Restituisce S_OK se la DLL può essere scaricata o S_FALSE se non è possibile.
CAtlDllModuleT::D llGetClassObject
Restituisce la class factory.
HRESULT DllGetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parametri
rclsid
CLSID dell'oggetto da creare.
riid
IID dell'interfaccia richiesta.
ppv
Puntatore al puntatore all'interfaccia identificato da riid. Se l'oggetto non supporta questa interfaccia, ppv è impostato su NULL.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CAtlDllModuleT::D llMain
Punto di ingresso facoltativo in una libreria a collegamento dinamico (DLL).
BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();
Parametri
dwReason
Se impostato su DLL_PROCESS_ATTACH, le chiamate di notifica DLL_THREAD_ATTACH e DLL_THREAD_DETACH sono disabilitate.
lpReserved
Riservato.
Valore restituito
Restituisce sempre TRUE.
Osservazioni:
La disabilitazione delle chiamate di notifica DLL_THREAD_ATTACH e DLL_THREAD_DETACH può essere un'ottimizzazione utile per le applicazioni multithreading con molte DLL, che spesso creano ed eliminano thread e le cui DLL non necessitano di queste notifiche a livello di thread di allegato/scollegamento.
CAtlDllModuleT::D llRegisterServer
Aggiunge voci al Registro di sistema per gli oggetti nella DLL.
HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();
Parametri
bRegTypeLib
TRUE se la libreria dei tipi deve essere registrata. Il valore predefinito è TRUE.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CAtlDllModuleT::D llUnregisterServer
Rimuove le voci nel Registro di sistema per gli oggetti nella DLL.
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();
Parametri
bUnRegTypeLib
TRUE se la libreria dei tipi deve essere rimossa dal Registro di sistema. Il valore predefinito è TRUE.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
CAtlDllModuleT::GetClassObject
Crea un oggetto del CLSID specificato.
HRESULT GetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parametri
rclsid
CLSID dell'oggetto da creare.
riid
IID dell'interfaccia richiesta.
ppv
Puntatore al puntatore all'interfaccia identificato da riid. Se l'oggetto non supporta questa interfaccia, ppv è impostato su NULL.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Questo metodo viene chiamato da CAtlDllModuleT::D llGetClassObject ed è incluso per la compatibilità con le versioni precedenti.
Vedi anche
Classe CAtlModuleT
Classe CAtlExeModuleT
Cenni preliminari sulla classe
Classi del modulo