Compartilhar via


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

_ATL_MODULE

CAtlModule

CAtlModuleT

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