Classe CAtlDllModuleT
Essa classe representa o módulo para uma DLL.
Sintaxe
template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>
Parâmetros
T
Sua classe derivada de CAtlDllModuleT
.
Membros
Construtores públicos
Nome | Descrição |
---|---|
CAtlDllModuleT::CAtlDllModuleT | O construtor . |
CAtlDllModuleT::~CAtlDllModuleT | O destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
CAtlDllModuleT::DllCanUnloadNow | Testa se a DLL pode ser descarregada. |
CAtlDllModuleT::DllGetClassObject | Retorna uma fábrica de classes. |
CAtlDllModuleT::DllMain | O ponto de entrada opcional em uma DLL (biblioteca de vínculo dinâmico). |
CAtlDllModuleT::DllRegisterServer | Adiciona entradas ao Registro do sistema para objetos na DLL. |
CAtlDllModuleT::DllUnregisterServer | Remove entradas ao Registro do sistema para objetos na DLL. |
CAtlDllModuleT::GetClassObject | Retorna uma fábrica de classes. Invocado por DllGetClassObject. |
Comentários
CAtlDllModuleT
representa o módulo de uma DLL (biblioteca de vínculo dinâmico) e fornece funções usadas por todos os projetos da DLL. Essa especialização da classe CAtlModuleT inclui suporte para registro.
Para obter mais informações sobre módulos na ATL, consulte Classes de módulo da ATL.
Hierarquia de herança
CAtlDllModuleT
Requisitos
Cabeçalho: atlbase.h
CAtlDllModuleT::CAtlDllModuleT
O construtor .
CAtlDllModuleT() throw();
CAtlDllModuleT::~CAtlDllModuleT
O destruidor.
~CAtlDllModuleT() throw();
CAtlDllModuleT::DllCanUnloadNow
Testa se a DLL pode ser descarregada.
HRESULT DllCanUnloadNow() throw();
Valor de retorno
Retornará S_OK se a DLL puder ser descarregada ou S_FALSE se não puder.
CAtlDllModuleT::DllGetClassObject
Retorna a fábrica de classes.
HRESULT DllGetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parâmetros
rclsid
O CLSID do objeto a ser criado.
riid
O IID da interface solicitada.
ppv
Um ponteiro para o ponteiro da interface identificado por riid. Se o objeto não der suporte a essa interface, o ppv será definido como NULL.
Valor de retorno
Retornará S_OK se houver êxito ou um erro HRESULT, em caso de falha.
CAtlDllModuleT::DllMain
O ponto de entrada opcional em uma DLL (biblioteca de vínculo dinâmico).
BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();
Parâmetros
dwReason
Se definido como DLL_PROCESS_ATTACH, as chamadas de notificação DLL_THREAD_ATTACH e DLL_THREAD_DETACH serão desabilitadas.
lpReserved
Reservado.
Valor de retorno
Sempre retorna TRUE.
Comentários
Desabilitar as chamadas de notificação DLL_THREAD_ATTACH e DLL_THREAD_DETACH pode ser uma otimização útil para aplicativos com multithread que têm muitas DLLs, que frequentemente criam e excluem threads e cujas DLLs não precisam dessas notificações de anexo/desanexo no nível de thread.
CAtlDllModuleT::DllRegisterServer
Adiciona entradas ao Registro do sistema para objetos na DLL.
HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();
Parâmetros
bRegTypeLib
TRUE se a biblioteca de tipos deve ser registrada. O valor padrão é TRUE.
Valor de retorno
Retornará S_OK se houver êxito ou um erro HRESULT, em caso de falha.
CAtlDllModuleT::DllUnregisterServer
Remove entradas ao Registro do sistema para objetos na DLL.
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();
Parâmetros
bUnRegTypeLib
TRUE se a biblioteca de tipos deve ser removida do Registro. O valor padrão é TRUE.
Valor de retorno
Retornará S_OK se houver êxito ou um erro HRESULT, em caso de falha.
CAtlDllModuleT::GetClassObject
Cria um objeto do CLSID especificado.
HRESULT GetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parâmetros
rclsid
O CLSID do objeto a ser criado.
riid
O IID da interface solicitada.
ppv
Um ponteiro para o ponteiro da interface identificado por riid. Se o objeto não der suporte a essa interface, o ppv será definido como NULL.
Valor de retorno
Retornará S_OK se houver êxito ou um erro HRESULT, em caso de falha.
Comentários
Esse método é chamado por CAtlDllModuleT::DllGetClassObject e está incluído para compatibilidade com versões anteriores.
Confira também
Classe CAtlModuleT
Classe CAtlExeModuleT
Visão geral da aula
Classes de módulo