Partilhar via


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

Consulte também

Referência

Tópicos obsoleto do ATL