4.4 ATL (ACTIVE TEMPLATE LIBRARY)


El Active Témplate Library (ATL) es un conjunto de clases basadas en plantillas  de C ++ clases desarrolladas por Microsoft, destinado a simplificar la programación del Modelo de objetos componentes (COM) de objetos.
Es un conjunto  de clases de C++ basadas en plantillas que permiten crear objetos pequeños, rápidos  (COM)  del modelo de objetos componentes.
El apoyo COM en Microsoft Visual C ++ permite a los desarrolladores crear una variedad de objetos COM, OLE Automation servidores y ActiveX controles.

 ATL incluye un asistente de objeto que establece la estructura primaria de los objetos muy rápidamente con un mínimo de codificación manual.
En el lado del cliente COM ATL proporciona punteros inteligentes que tienen que ver con el recuento de referencias COM.





Historia
ATL versión7  introdujo atributos en C ++ en un intento de ofrecer algo similar a los atributos de la CLI, no han tenido mucho éxito, y se han restado importancia en la versión de ATL 8 (Visual Studio 2005). La versión7 introduce nuevas clases de conversión de cadenas.
El 28 de julio de 2009, Microsoft lanzó un parche para ATL para corregir un error que podría permitir ActiveX controles creados con ATL a ser vulnerable a una falla de seguridad de ejecución remota de código.
Desde Visual Studio 2013, código de ATL en Visual C ++ 2013 es estática, lo que elimina la DLL.

Clases de apoyo
ATL incluye muchas RAII clases para simplificar la gestión de tipos COM.
Las clases más comúnmente utilizados son:
•CComPtr <T> de propósito general Smart-puntero,
•CComBSTR envoltorio BSTR,
•CComVariant envoltorio VARIANTE, y
•CComSafeArray <T> envoltorio SAFEARRAY.

Apoyo Compiler COM
Aunque no es formalmente parte de ATL, Microsoft Visual C ++ también incluye adicional de C ++ clases RAII para simplificar la gestión de tipos COM.
Estos apoyo compilador COM clases pueden ser utilizados como reemplazo para o en combinación con ATL, e incluye:
_com_ptr_t smart-puntero que decora el nombre de la interfaz COM con un sufijo "PTR",
_bstr_t envoltorio BSTR,
_variant_t envoltorio VARIANTE, y
_com_error envoltorio HRESULT.

Tenga en cuenta que a partir de Visual Studio 2012, las clases de apoyo compilador COM no incluye una envoltura SAFEARRAY.


REFERENCIAS:

Wikipedia. (12 de Marzo de 2016). wikipedia. Recuperado el 15 de Julio de 2017, de wikipedia: https://en.wikipedia.org/wiki/Active_Template_Library