ATL Internals: Working with ATL 8 (2nd Edition)