Before Starting


COM objects in general and UMDF drivers in particular are nearly always written in C++. This chapter assumes that you have a reasonable familiarity with object-oriented programming (OOP) in general and C++ programming in particular. You should understand basic concepts such as:

  • Class structure: the struct and class keywords, public and private members, static methods, constructors, destructors, and pure abstract classes.

  • Object creation and destruction by using the new and delete operators.

  • Inheritance, including base and derived classes, multiple inheritance, and pure virtual methods.

If you are new to C++ programming, you should become familiar with these basic topics. Other aspects of C++, such as operator overloading or templates, are not necessary for UMDF drivers. UMDF drivers can use standard C++ template libraries, such as the Standard Template Library (STL) or Active Template Library (ATL), but these libraries are not required and are not used in the samples in this chapter.

Tip 

It is technically possible-although significantly less convenient-to use the C programming language to implement COM objects. This approach is relatively rare and is not discussed here. For details, see Inside OLE from Microsoft Press.




Developing Drivers with the Microsoft Windows Driver Foundation
Developing Drivers with the Windows Driver Foundation (Pro Developer)
ISBN: 0735623740
EAN: 2147483647
Year: 2007
Pages: 224

Similar book on Amazon
Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7
Windows Internals, Part 1: Covering Windows Server 2008 R2 and Windows 7
Windowsu00ae Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Pro Developer)
Windowsu00ae Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (Pro Developer)
Advanced Windows Debugging
Advanced Windows Debugging
The Windows 2000 Device Driver Book: A Guide for Programmers (2nd Edition)
The Windows 2000 Device Driver Book: A Guide for Programmers (2nd Edition)

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net