Tornando um objeto ATL não criável
Você pode alterar os atributos de um objeto COM base ATL- para que um cliente não pode diretamente criar o objeto. Em esse caso, o objeto deve ser retornado chama um método com outro objeto em vez de diretamente criado.
para fazer um objeto noncreatable
Remova OBJECT_ENTRY_AUTO para o objeto. Se você desejar que o objeto para ser noncreatable mas o controle a ser registrado, substitua OBJECT_ENTRY_AUTO com OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO.
Adicione o atributo de noncreatable a coclass no arquivo de .idl. Por exemplo:
[ uuid(A1992E3D-3CF0-11D0-826F-00A0C90F2851), helpstring("MyObject"), noncreatable ] coclass MyObject { [default] interface IMyInterface; }
Consulte também
Referência
Fundamentos de objetos COM de ATL
Configurações padrão do projeto ATL
Conceitos
Tipos de projeto do Visual C++
Programando com código de tempo de execução ATL e C