C++ COM实现之一 创建一个DLL
文件大小: 15k
源码售价: 10 个金币 积分规则     积分充值
资源说明:C++ COM实现之一 创建一个DLL COM是一种接口技术,它提供了一种方法用于客户程序进行调用。COM原理和技术的文章已经很多了,就不过多讲解了,这里只注重实现。下面分几步对进程内COM组件进行编码实现以达到对实现一个COM的清晰的认识,目的是通过COM接口方法调用DLL中的函数。 首先,创建一个标准的win32 DLL项目mycom,dllmain入口实现如下: [c-sharp] view plaincopy 1. DWORD g_dwAttachedProcesses = 0L; // # of attached processes 2. DWORD g_dwPageSize = 0L; // System page size 3. HINSTANCE g_hInstance = 0L; // Instance Handle 4. LONG g_cLock = 0L; // # of outstanding objects 5. BOOL APIENTRY DllMain( HMODULE hModule, 6. DWORD ul_reason_for_call, 7. LPVOID lpReserved 8. ) 9. { 10. BOOL fRetVal = FALSE; 11. SYSTEM_INFO SystemInformation; 12. switch(ul_reason_for_call) 13. { 14. case DLL_PROCESS_ATTACH: 15. // Assume successfully initialized 16. fRetVal = TRUE; 17. // Do one-time initialization when first process attaches 18. if(!g_dwAttachedProcesses) 19. { 20. g_hInstance = (HINSTANCE)hModule; 21. // Get the system page size 22. if(!g_dwPageSize) 23. { 24. GetSystemInfo( &SystemInformation ); // can't fail 25. g_dwPageSize = SystemInformation.dwPageSize; 26. }
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。