Tornando um Noncreatable de objeto do ATL

Você pode alterar os atributos de um objeto COM baseado em ATL para que um cliente diretamente não é possível criar o objeto. Nesse caso, o objeto deve ser retornado por uma chamada de método em outro objeto em vez de criado diretamente.

Para tornar um objeto noncreatable

  1. Remover o OBJECT_ENTRY_AUTO para o objeto. Se desejar que o objeto seja noncreatable, mas o controle a ser registrado, substitua OBJECT_ENTRY_AUTO com OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO.

  2. Adicionar o noncreatable o coclass no arquivo. idl do atributo. For example:

    [
       uuid(A1992E3D-3CF0-11D0-826F-00A0C90F2851),
       helpstring("MyObject"),
      noncreatable
    ]
    coclass MyObject
    {
       [default] interface IMyInterface;
    }
    

Consulte também

Tarefas

Criar projetos usando os assistentes de aplicativo

Referência

ATL Project Wizard

Fundamentals of ATL COM Objects

Configurações padrão de projeto do ATL

Conceitos

Visual projetos C++

Programming with ATL and C Run-Time Code