Partilhar via


Classe CAtlModule

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 fornece métodos usados por várias classes de módulos ATL.

Sintaxe

class ATL_NO_VTABLE CAtlModule : public _ATL_MODULE

Membros

Construtores Públicos

Nome Description
CAtlModule::CAtlModule O construtor.
CAtlModule::~CAtlModule O destruidor.

Métodos Públicos

Nome Description
CAtlModule::AddCommonRGSReplacements Substitua este método para adicionar parâmetros ao mapa de substituição do ATL Registry Component (Registrar).
CAtlModule::AddTermFunc Adiciona uma nova função a ser chamada quando o módulo termina.
CAtlModule::GetGITPtr Devolve o ponteiro de interface global.
CAtlModule::GetLockCount Devolve a contagem de fechaduras.
CAtlModule::Lock Aumenta o número de bloqueios.
CAtlModule::Term Liberta todos os membros dos dados.
CAtlModule::Desbloquear Diminui a contagem de fechaduras.
CAtlModule::UpdateRegistryFromResourceD Executa o script contido num recurso especificado para registar ou desregistar um objeto.
CAtlModule::UpdateRegistryFromResourceDHelper Este método é chamado por UpdateRegistryFromResourceD para realizar a atualização do registo.
CAtlModule::UpdateRegistryFromResourceS Executa o script contido num recurso especificado para registar ou desregistar um objeto. Este método liga-se estaticamente ao Componente do Registo ATL.

Membros de Dados Públicos

Nome Description
CAtlModule::m_libid Contém o GUID do módulo atual.
CAtlModule::m_pGIT Apontar para a Tabela de Interface Global.

Observações

Esta classe é utilizada pelas Classes CAtlDllModuleT, CAtlExeModuleT e CAtlServiceModuleT para fornecer suporte a aplicações DLL, aplicações EXE e serviços Windows, respetivamente.

Para mais informações sobre módulos em ATL, consulte Classes de Módulos ATL.

Esta classe substitui a obsoleta Classe CComModule usada em versões anteriores do ATL.

Hierarquia de herança

_ATL_MODULE

CAtlModule

Requerimentos

Cabeçalho: atlbase.h

CAtlModule::AddCommonRGSReplacements

Substitua este método para adicionar parâmetros ao mapa de substituição do ATL Registry Component (Registrar).

virtual HRESULT AddCommonRGSReplacements(IRegistrarBase* /* pRegistrar*/) throw() = 0;

Parâmetros

pRegistrar
Reservado.

Valor de retorno

Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.

Observações

Parâmetros substituíveis permitem ao cliente do Registador especificar dados em tempo de execução. Para isso, o Registrar mantém um mapa de substituição no qual insere os valores associados aos parâmetros substituíveis no seu script. O Registador faz estas entradas em tempo de execução.

Consulte o tópico Utilização de Parâmetros Substituíveis (O Pré-processador do Registo) para mais detalhes.

CAtlModule::AddTermFunc

Adiciona uma nova função a ser chamada quando o módulo termina.

HRESULT AddTermFunc(_ATL_TERMFUNC* pFunc, DWORD_PTR dw) throw();

Parâmetros

pFunc
Apontar para a função a adicionar.

dw
Dados definidos pelo utilizador, passados para a função.

Valor de retorno

Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.

CAtlModule::CAtlModule

O construtor.

CAtlModule() throw();

Observações

Inicializa os membros dos dados e inicia uma secção crítica em torno do thread do módulo.

CAtlModule::~CAtlModule

O destruidor.

~CAtlModule() throw();

Observações

Liberta todos os membros dos dados.

CAtlModule::GetGITPtr

Recupera um ponteiro para a Tabela Global de Interface.

virtual HRESULT GetGITPtr(IGlobalInterfaceTable** ppGIT) throw();

Parâmetros

ppGIT
Apontador para a variável que receberá o ponteiro para a Tabela Global de Interface.

Valor de retorno

Devolve S_OK em caso de sucesso, ou um código de erro em caso de falha. E_POINTER é devolvido se ppGIT for igual a NULL.

Observações

Se o objeto Tabela de Interface Global não existir, ele é criado e o seu endereço é armazenado na variável membro CAtlModule::m_pGIT.

Em builds de depuração, ocorrerá um erro de asserção se ppGIT for igual a NULL, ou se o ponteiro da Tabela de Interface Global não puder ser obtido.

Consulte IGlobalInterfaceTable para informações sobre a Tabela Global de Interface.

CAtlModule::GetLockCount

Devolve a contagem de fechaduras.

virtual LONG GetLockCount() throw();

Valor de retorno

Devolve a contagem de fechaduras. Este valor pode ser útil para diagnósticos e depuração.

CAtlModule::Lock

Aumenta o número de bloqueios.

virtual LONG Lock() throw();

Valor de retorno

Incrementa a contagem de bloqueios e devolve o valor atualizado. Este valor pode ser útil para diagnósticos e depuração.

CAtlModule::m_libid

Contém o GUID do módulo atual.

static GUID m_libid;

CAtlModule::m_pGIT

Apontar para a Tabela de Interface Global.

IGlobalInterfaceTable* m_pGIT;

CAtlModule::Term

Liberta todos os membros dos dados.

void Term() throw();

Observações

Liberta todos os membros dos dados. Este método é chamado pelo destruidor.

CAtlModule::Desbloquear

Diminui a contagem de fechaduras.

virtual LONG Unlock() throw();

Valor de retorno

Reduz a contagem de fechaduras e devolve o valor atualizado. Este valor pode ser útil para diagnósticos e depuração.

CAtlModule::UpdateRegistryFromResourceD

Executa o script contido num recurso especificado para registar ou desregistar um objeto.

HRESULT WINAPI UpdateRegistryFromResourceD(
    UINT nResID,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

HRESULT WINAPI UpdateRegistryFromResourceD(
    LPCTSTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

Parâmetros

lpszRes
Um nome de recurso.

nResID
Um ID de recurso.

bRegister
TRUE se o objeto deve ser registado; FALSO, caso contrário.

pMapEntries
Um ponteiro para o mapa de substituição que armazena valores associados aos parâmetros substituíveis do script. ATL usa automaticamente %MODULE%. Para utilizar parâmetros substituíveis adicionais, veja CAtlModule::AddCommonRGSReplacements. Caso contrário, use o valor padrão NULL.

Valor de retorno

Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.

Observações

Executa o script contido no recurso especificado por lpszRes ou nResID. Se o bRegister for TRUE, este método regista o objeto no registo do sistema; caso contrário, remove o objeto do registo.

Para ligar estaticamente ao Componente do Registo ATL (Registrar), veja CAtlModule::UpdateRegistryFromResourceS.

Este método chama CAtlModule::UpdateRegistryFromResourceDHelper e IRegistrar::ResourceUnregister.

CAtlModule::UpdateRegistryFromResourceDHelper

Este método é chamado por UpdateRegistryFromResourceD para realizar a atualização do registo.

inline HRESULT WINAPI UpdateRegistryFromResourceDHelper(
    LPCOLESTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

Parâmetros

lpszRes
Um nome de recurso.

bRegister
Indica se o objeto deve ser registado.

pMapEntries
Um ponteiro para o mapa de substituição que armazena valores associados aos parâmetros substituíveis do script. ATL usa automaticamente %MODULE%. Para utilizar parâmetros substituíveis adicionais, veja CAtlModule::AddCommonRGSReplacements. Caso contrário, use o valor padrão NULL.

Valor de retorno

Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.

Observações

Este método fornece a implementação do CAtlModule::UpdateRegistryFromResourceD.

CAtlModule::UpdateRegistryFromResourceS

Executa o script contido num recurso especificado para registar ou desregistar um objeto. Este método liga-se estaticamente ao Componente do Registo ATL.

HRESULT WINAPI UpdateRegistryFromResourceS(
    UINT nResID,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

HRESULT WINAPI UpdateRegistryFromResourceS(
    LPCTSTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

Parâmetros

nResID
Um ID de recurso.

lpszRes
Um nome de recurso.

bRegister
Indica se o script de recurso deve ser registado.

pMapEntries
Um ponteiro para o mapa de substituição que armazena valores associados aos parâmetros substituíveis do script. ATL usa automaticamente %MODULE%. Para utilizar parâmetros substituíveis adicionais, veja CAtlModule::AddCommonRGSReplacements. Caso contrário, use o valor padrão NULL.

Valor de retorno

Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.

Observações

Semelhante ao CAtlModule::UpdateRegistryFromResourceD , exceto CAtlModule::UpdateRegistryFromResourceS que cria uma ligação estática ao Componente do Registo ATL (Registrar).

Consulte também

_ATL_MODULE
Visão geral da classe
Classes de Módulo
Componente do Registo (Registo)