【发布时间】:2010-06-01 20:26:46
【问题描述】:
我正在考虑以优雅的方式将 WinAPI 回调封装在一个类中。假设我正在创建一个处理异步 I/O 的类。所有 Windows 回调都应该是 stdcall 函数,而不是类方法(例如,我需要将它们的地址传递给 ReadFileEx WinAPI 函数)。所以,我不能只将方法地址作为回调例程传递给 WinAPI 函数。
将这种类型的功能封装在类中的最优雅的方法是什么,以便该类具有事件 OnReadCompleted 和 OnWriteCompleted(我使用 Delphi 作为主要语言,但我想 C++ 中的情况必须相同,因为类方法和简单的方法不同,它的第一个隐藏参数是this链接。当然这个类不是单例的,app可以同时创建多个.
您认为实现这一点的好方法是什么?
【问题讨论】: