Condividi tramite


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à

_ATL_MODULE

CAtlModule

CAtlModuleT

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