BEGIN_OBJECT_MAP
A macro BEGIN_OBJECT_MAP é obsoleta.Ela é fornecida para compatibilidade com versões anteriores.Consulte OBJECT_ENTRY_AUTO para a funcionalidade atual.
Marca o início do mapa de objeto que oferece suporte para o registro, inicialização e criação de instâncias de classes COM ATL.
BEGIN_OBJECT_MAP( x )
Parâmetros
- x
[in] O nome usado para uma matriz de entradas de mapa de objeto.
Comentários
O parâmetro x é o nome de uma matriz mantendo _ATL_OBJMAP_ENTRY estruturas.Cada elemento da matriz descreve uma classe COM e sua implementação de C++ correspondente em termos de:
O CLSID da classe COM
Código de registro COM para a classe
Código de criação de fábrica de classe
Código de criação de instância
Código de registro de categoria de componente
Inicialização de nível de classe e código de limpeza
Iniciar seu mapa de objeto com a macro BEGIN_OBJECT_MAP , adicionar entradas para cada classe com a macro de OBJECT_ENTRY e conclua o mapa com a macro de END_OBJECT_MAP.Normalmente, assistentes criar o mapa de objeto e adicionar as entradas apropriadas automaticamente, mas, ocasionalmente, convém modificar esse código manualmente.
O mapa de objeto deve ser passado para CComModule::Init habilitar registro do módulo, inicialização e criação de código para ligar para as informações fornecidas.
Exemplo
O exemplo a seguir, extraído CIRCCOLL a de exemplo, mostra um mapa de objeto simples e a chamada para CComModule::Init de um servidor DLL:
BEGIN_OBJECT_MAP(ObjectMap)
OBJECT_ENTRY(CLSID_MyCircleCollectionCreator, CMyCircleCollectionCreator)
END_OBJECT_MAP( )
//DLL Entry Point
extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
_Module.Init(ObjectMap, hInstance);
DisableThreadLibraryCalls(hInstance);
}
else if (dwReason == DLL_PROCESS_DETACH)
_Module.Term();
return TRUE;
}
Requisitos
Cabeçalho: atlcom.h