Partilhar via


Classe CAtlDllModuleT

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

_ATL_MODULE

CAtlModule

CAtlModuleT

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