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.
Estas macros definem funcionalidades úteis de biblioteca de tipos e registos.
| Nome | Description |
|---|---|
| _ATL_STATIC_REGISTRY | Indica que queres que o código de registo do teu objeto esteja no objeto para evitar dependência do ATL.DLL. |
| DECLARE_LIBID | Fornece uma forma para o ATL obter o libid da biblioteca de tipos. |
| DECLARE_NO_REGISTRY | Evita o registo ATL por defeito. |
| DECLARE_REGISTRY | Insere ou remove a entrada do objeto principal no registo do sistema. |
| DECLARE_REGISTRY_APPID_RESOURCEID | Especifica a informação necessária para registar automaticamente o appid. |
| DECLARE_REGISTRY_RESOURCE | Encontra o recurso nomeado e executa o script do registo dentro dele. |
| DECLARE_REGISTRY_RESOURCEID | Encontra o recurso identificado por um número de ID e executa o script do registo dentro dele. |
Requerimentos
Cabeçalho: atlcom.h
_ATL_STATIC_REGISTRY
Um símbolo que indica que queres que o código de registo do teu objeto esteja no objeto para evitar dependência da ATL.DLL.
#define _ATL_STATIC_REGISTRY
Observações
Ao definir ATL_STATIC_REGISTRY, deve usar o seguinte código:
#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#endif
DECLARE_LIBID
Fornece uma forma para o ATL obter o libid da biblioteca de tipos.
DECLARE_LIBID( libid )
Parâmetros
libid
O GUID da biblioteca de tipos.
Observações
Usa DECLARE_LIBID numa CAtlModuleTclasse derivada de -.
Example
Projetos ATL gerados por assistentes não atribuídos terão uma amostra de utilização deste macro.
DECLARE_NO_REGISTRY
Usa DECLARE_NO_REGISTRY se quiseres evitar qualquer registo ATL por defeito para a classe onde esta macro aparece.
DECLARE_NO_REGISTRY()
DECLARE_REGISTRY
Insere o registo padrão da classe no registo do sistema ou remove-o do registo do sistema.
DECLARE_REGISTRY(
class,
pid,
vpid,
nid,
flags )
Parâmetros
classe
[dentro] Incluído para compatibilidade retroativa.
PID
[dentro] Um LPCTSTR que é um identificador de programa específico de uma versão.
vpid
[dentro] Um LPCTSTR que é um identificador de programa independente de versão.
nid
[dentro] Um UINT que é um índice da cadeia de recursos no registo para usar como descrição do programa.
flags
[dentro] Um DWORD contendo o modelo de threading do programa no registo. Deve ser um dos seguintes valores: THREADFLAGS_APARTMENT, THREADFLAGS_BOTH ou AUTPRXFLAG.
Observações
O registo padrão consiste no CLSID, ID do programa, ID independente da versão, string de descrição e modelo de thread.
Quando crias um objeto ou controlo usando o Assistente de Adicionar Classe ATL, o assistente implementa automaticamente suporte de registo baseado em scripts e adiciona a macro DECLARE_REGISTRY_RESOURCEID aos teus ficheiros. Se não quiser suporte de registo baseado em scripts, precisa de substituir esta macro por DECLARE_REGISTRY. DECLARE_REGISTRY apenas insere as cinco chaves básicas descritas acima no registo. Tens de escrever manualmente código para inserir outras chaves no registo.
DECLARE_REGISTRY_APPID_RESOURCEID
Especifica a informação necessária para registar automaticamente o appid.
DECLARE_REGISTRY_APPID_RESOURCEID(
resid,
appid )
Parâmetros
Resid
O id de recurso do ficheiro .rgs que contém informação sobre o appid.
appid
Um GUID.
Observações
Use DECLARE_REGISTRY_APPID_RESOURCEID numa CAtlModuleTclasse derivada de -.
Example
As classes adicionadas a projetos ATL com o assistente de código de Adicionar Classe terão um exemplo de utilização desta macro.
DECLARE_REGISTRY_RESOURCE
Obtém o recurso nomeado que contém o ficheiro do registo e executa o script para inserir objetos no registo do sistema ou removê-los do registo do sistema.
DECLARE_REGISTRY_RESOURCE( x )
Parâmetros
x
[dentro] Identificador de string do teu recurso.
Observações
Quando crias um objeto ou controlo usando o Assistente de Projeto ATL, o assistente implementa automaticamente suporte ao registo baseado em scripts e adiciona a macro DECLARE_REGISTRY_RESOURCEID , que é semelhante à DECLARE_REGISTRY_RESOURCE, aos teus ficheiros.
Pode ligar estaticamente ao Componente do Registo ATL (Registrar) para um acesso otimizado ao registo. Para ligar estaticamente ao código do Registrar, adicione a seguinte linha ao seu ficheiro pch.h (stdafx.h no Visual Studio 2017 e anteriores):
#define _ATL_STATIC_REGISTRY
Se quiser que o ATL substitua valores de substituição em tempo de execução, não especifique a macro DECLARE_REGISTRY_RESOURCE ou DECLARE_REGISTRY_RESOURCEID. Em vez disso, crie-se um array de _ATL_REGMAP_ENTRIES estruturas, onde cada entrada contém um marcador de posição variável emparelhado com um valor para substituir o marcador em tempo de execução. Depois chama CAtlModule::UpdateRegistryFromResourceD ou CAtlModule::UpdateRegistryFromResourceS, passando o array. Isto adiciona todos os valores de substituição nas _ATL_REGMAP_ENTRIES estruturas ao mapa de substituição do Registrador.
Para mais informações sobre parâmetros substituíveis e scripting, consulte o artigo The ATL Registry Component (Registrar).
DECLARE_REGISTRY_RESOURCEID
O mesmo que DECLARE_REGISTRY_RESOURCE , exceto que usa um UINT gerado por um assistente para identificar o recurso, em vez de um nome de cadeia.
DECLARE_REGISTRY_RESOURCEID( x )
Parâmetros
x
[dentro] Identificador gerado por um assistente do seu recurso.
Observações
Quando crias um objeto ou controlo usando o Assistente de Projetos ATL, o assistente implementa automaticamente suporte ao registo baseado em scripts e adiciona a macro DECLARE_REGISTRY_RESOURCEID aos teus ficheiros.
Pode ligar estaticamente ao Componente do Registo ATL (Registrar) para um acesso otimizado ao registo. Para ligar estaticamente ao código do Registrar, adicione a seguinte linha ao seu ficheiro stdafx.h (pch.h no Visual Studio 2019 e posteriores):
#define _ATL_STATIC_REGISTRY
Se quiser que o ATL substitua valores de substituição em tempo de execução, não especifique a macro DECLARE_REGISTRY_RESOURCE ou DECLARE_REGISTRY_RESOURCEID. Em vez disso, crie-se um array de _ATL_REGMAP_ENTRIES estruturas, onde cada entrada contém um marcador de posição variável emparelhado com um valor para substituir o marcador em tempo de execução. Depois chama CAtlModule::UpdateRegistryFromResourceD ou CAtlModule::UpdateRegistryFromResourceS, passando o array. Isto adiciona todos os valores de substituição nas _ATL_REGMAP_ENTRIES estruturas ao mapa de substituição do Registrador.
Para mais informações sobre parâmetros substituíveis e scripting, consulte o artigo The ATL Registry Component (Registrar).