Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe representa o módulo para uma DLL.
Sintaxe
template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>
Parâmetros
T
A sua classe derivou de CAtlDllModuleT.
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CAtlDllModuleT::CAtlDllModuleT | O construtor. |
| CAtlDllModuleT::~CAtlDllModuleT | O destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CAtlDllModuleT::D llCanUnloadNow | Testa se a DLL pode ser descarregada. |
| CAtlDllModuleT::D llGetClassObject | Devolve uma fábrica de classe. |
| CAtlDllModuleT::D llMain | O ponto de entrada opcional para uma biblioteca de ligação dinâmica (DLL). |
| CAtlDllModuleT::D llRegisterServer | Adiciona entradas ao registo do sistema para objetos na DLL. |
| CAtlDllModuleT::D llUnregisterServer | Remove entradas no registo do sistema para objetos na DLL. |
| CAtlDllModuleT::GetClassObject | Devolve uma fábrica de classe. Invocado por DllGetClassObject. |
Observações
CAtlDllModuleT representa o módulo para uma biblioteca de ligação dinâmica (DLL) e fornece funções usadas por todos os projetos DLL. Esta especialização da classe CAtlModuleT inclui suporte para registo.
Para mais informações sobre módulos em ATL, consulte Classes de Módulos ATL.
Hierarquia de herança
CAtlDllModuleT
Requerimentos
Cabeçalho: atlbase.h
CAtlDllModuleT::CAtlDllModuleT
O construtor.
CAtlDllModuleT() throw();
CAtlDllModuleT::~CAtlDllModuleT
O destruidor.
~CAtlDllModuleT() throw();
CAtlDllModuleT::D llCanUnloadNow
Testa se a DLL pode ser descarregada.
HRESULT DllCanUnloadNow() throw();
Valor de retorno
Devolve S_OK se a DLL puder ser descarregada, ou S_FALSE se não puder.
CAtlDllModuleT::D llGetClassObject
Devolve a fábrica da classe.
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 de interface identificado por riid. Se o objeto não suportar esta interface, o ppv é definido como NULL.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
CAtlDllModuleT::D llMain
O ponto de entrada opcional para uma biblioteca de ligação dinâmica (DLL).
BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();
Parâmetros
dwReason
Se configurado para DLL_PROCESS_ATTACH, as chamadas de notificação de DLL_THREAD_ATTACH e DLL_THREAD_DETACH ficam desativadas.
lpReservado
Reservado.
Valor de retorno
Retorna sempre VERDADEIRO.
Observações
Desabilitar as chamadas de notificação DLL_THREAD_ATTACH e DLL_THREAD_DETACH pode ser uma otimização útil para aplicações multithread que têm muitas DLLs, que frequentemente criam e eliminam threads, e cujas DLLs não necessitam destas notificações ao nível da thread de anexão/desapego.
CAtlDllModuleT::D llRegisterServer
Adiciona entradas ao registo do sistema para objetos na DLL.
HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();
Parâmetros
bRegTypeLib
TRUE se a biblioteca de tipos for registada. O valor padrão é VERDADEIRO.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
CAtlDllModuleT::D llUnregisterServer
Remove entradas no registo do sistema para objetos na DLL.
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();
Parâmetros
bUnRegTypeLib
TRUE se a biblioteca de tipos for removida do registo. O valor padrão é VERDADEIRO.
Valor de retorno
Devolve S_OK em caso de sucesso, 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 de interface identificado por riid. Se o objeto não suportar esta interface, o ppv é definido como NULL.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Este método é chamado CAtlDllModuleT::D llGetClassObject e está incluído para compatibilidade retroativa.
Consulte também
Classe CAtlModuleT
Classe CAtlExeModuleT
Visão geral da classe
Classes de Módulo