SAMPLE: Handling Callbacks with C++ Member Functions

ID: Q92433

The information in this article applies to:

SUMMARY

The CALLB application demonstrates how to handle callbacks with C++ member functions. It is a companion application for the technical article on the MSDN, "Calling All Members: Member Functions as Callbacks."

MORE INFORMATION

The following file is available for download from the Microsoft Software Library:

 ~ CALLB.EXE (size: 583070 bytes) 

For more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q119591
   TITLE     : How to Obtain Microsoft Support Files from
               Online Services

Microsoft Windows version 3.1 has over 30 callback functions that applications can use to enumerate objects, hook into the hardware, and perform a variety of other activities. The article explains why normal member functions cannot be used as callback functions and gives several techniques for handling callbacks. The article and source code are targeted toward Microsoft C/C++ version 7.0, but the ideas presented apply to all C++ compilers, including those by Borland and Zortech.

CALLB contains eight makefiles that create six executables: MAKE1 creates CPROG1; MAKE2 generates a compile-time error and does not create an executable; MAKE3, MAKE4, MAKE5, and MAKE6 create CPROG3, CPROG4, CPROG5, and CPROG6, respectively; and TMAKE creates CTIMER. Please refer to "Calling All Members: Member Functions as Callbacks" for more information.

NOTE: Running CPROG1 generates a general protection (GP) fault by design.

CALLB was built and tested under Microsoft Windows version 3.1.

Additional query words: EnumObjects EnumObjectsProc softlib CALLB.EXE kbtoolkit kbfile

Keywords          : kbsample kb16bitonly kbWinOS310 
Version           : 3.10
Platform          : WINDOWS

Last Reviewed: December 3, 1998