title: The most elegant way to encapsulate WinAPI callbacks inside a class
body: <p>I am thinking about elegant way to encapsulate WinAPI callbacks inside a class. Suppose I am making a class handling asynchronous I/O. All Windows callbacks should be stdcall functions, not class methods (I need to pass their addresses to ReadFileEx WinAPI function for example). So, I cannot just pass method addresses as a callback routines to WinAPI functions.</p>
  
  <p>What is the most elegant way to encapsulate functionality of this type inside a class so that the class have events OnReadCompleted and OnWriteCompleted (I am using Delphi as a primary language, but I guess the situation must be the same in C++ because class methods are different from simple methods by the fact, that the first hidden parameter of them is <em>this</em> link. Of course this class is not a singleton and there can be many of them created by app at the same time.</p>
  
  <p>What do you think would be the good way to implement this?</p>