CSE775 - Distributed Objects

Lecture #12 - ATL and Building ATL-based Projects

Revised: 24 February 2008
Home Courses Code Handouts CoreTech Books Articles Math Research Masters Projects SWDev WebDev News OtherLinks SiteDesign Graduates AllPages Office Hours Notices Contents

CSE681-SWMAA CSE686-IP CSE687-OOD CSE775-DO CSE776-DP CSE778-AWP CSE784-SWS

Lecture #01 Lecture #02 Lecture #03 Lecture #04 Lecture #05 Lecture #06 Lecture #07
Lecture #08 Lecture #09 Lecture #10 Lecture #11 Lecture #12 Lecture #13 Lecture #14
Lecture #15 Lecture #16 Lecture #17 Lecture #18 Lecture #19 Lecture #20 Lecture #21
Lecture #22 Lecture #23 Lecture #24 Lecture #25 Lecture #26 Lecture #27 Lecture #28

Contents Syllabus

Web Resources:

Code Project Win32, COM, MFC DevelopMentor Windows Developer's Journal Windows Forms GotDotNet C# Corner IDL and WDSL COM at MSDN IDL Language base MIDL types OLE data types IDL attributes MIDL data types MIDL Language Reference conversion functions

Office Hours: Instructor & TAs

Content:

This lecture is concerned with Active Template Library builds. We will also briefly discuss ATL wrapper classes for interface pointers, CComQIPtr, and BSTRs, CComBSTR.
  1. Syllabus
    Describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Uploading Project Submissions
  3. Project #2
  4. Two useful references for this material:
  5. Project simulating ATL Structure
  6. MSDN ATL Class Overview
  7. ATL Presentation
    Discusses the relationship between ATL modules and a component developed with ATL.
  8. ATL_Inproc_Ex1
    Our first ATL demonstration. Here you will see CComBSTR and CComQIPtr in action.
  9. Building ATL_Inproc_Ex1
  10. Attributed ATL Programming
    Shows how to use the new attributed style of building COM objects.
  11. Attributed ATL Programming Demo
  12. CComQIPtr
    A smart pointer the makes client code simpler and easier to maintain.
  13. CComBSTR
    BSTRs are rather ackward to manipulate, but wrapping a BSTR in a CComBSTR makes it almost as easy to use as a std::string object.
  14. CComSafeArray
    BSTRs are rather ackward to manipulate, but wrapping a BSTR in a CComBSTR makes it almost as easy to use as a std::string object.
  15. CComVariant
    BSTRs are rather ackward to manipulate, but wrapping a BSTR in a CComBSTR makes it almost as easy to use as a std::string object.
  16. ATL_OutProcST
  17. Building ATL_OutProcST