EnumWnd v1.02 An ATL DLL to demonstrate COM Enumerators and Collections
Welcome to EnumWnd, a tutorial ATL COM
dll which I developed while studying the Collections and Enumerator support
provided by ATL. While reading the "ATL Internals" book by Brent
Rector and Chris Sells, I was struggling with Chapter 7 which explains COM
Enumerators. To improve my understanding of this, I decided to develop a real
world example. The simplest collection I could think of was Top Level Windows
which is what is returned by the Win32 SDK call "EnumWindows".
The enclosed zip file contains the EnumWnd source code, and a sample VB
6 app to
test all the methods of the classes.
- You are allowed to include the source code in
any product (commercial, shareware, freeware or otherwise) when your product
is released in binary form.
- You are allowed to modify the source code in
any way you want except you cannot modify the copyright details at the top
of each module.
- If you want to distribute source code with
your application, then you are only allowed to distribute versions released
by the author. This is to maintain a single distribution point for the
V1.0 (20 January 2002)
V1.01 (6 April 2002)
- Fixed a problem with the registration of the class
- Updated the sample app to use a Reference from the
registry rather than from a location.
- Add the restricted IDL attribute to the _NewEnum
methods to hide that method from scripting type library browsers.
V1.02 (17 January 2017)
- Updated copyright details.
- Updated the code to now require at a minimum VC 2010.
- Updated the code to clean compile in VC 2010 - 2015.
- Removed the MinSize project configurations.
- Updated the code to compile cleanly using /analyze
- Updated the code to include x64 build configurations
- Added SAL annotations to all the source code.
- Replaced NULL throughout the codebase with nullptr.
- The DLL now supports the "DllInstall" registration function.