概述在XP中加载的DLL中使用新的Vista线程池API(在XP中不使用线程池代码)
我们正在生产一个针对windows 7和XP的DLL。 我们希望我们的DLL在DLL加载到windows 7系统时使用较新的Vista线程池API,而不是在XP系统上加载DLL。
现在,我们试着编译这个运行时检测 *** 作系统的DLL,以确保XP系统上永远不会使用Vista API,但是由于缺lesskernel32.dll中的依赖关系,我们仍然无法在windows XP系统上注册我们的DLL。 ..
除了构build两个独立版本的DLL之外,还有其他解决方法吗?
提前致谢
gflags对话框不会打开
DateTime.Now vs系统时间
使标题图标变成资源pipe理器窗口的拖动源
替代fopen()的模式“WX”的windows fopen()?
如何通过C ++或C或C#在windows中创build指定大小的空文件?
MongoDB复制崩溃,不会再启动
获取进程的工作目录
在java中的windowsgraphics订单实现
如何比较两个不同的文本文件
ComboBox更改高亮颜色winRT(地铁应用程序)
为什么不动态加载使用Loadlibrary的kernel32.dll,然后使用GetProcAddress来确定您需要的Vista线程池API函数是否可用? 如果他们是,很好,如果他们不回落到旧的API函数。
例如(未经测试)
typedef PTP_WAIT (WINAPI *FnCreateThreadpoolWait) (PTP_WAIT_CALLBACK,PVOID,PTP_CALLBACK_ENVIRON); HMODulE hlibrary; FnCreateThreadpoolWait pFn; hlibrary = ::Loadlibrary (\”kernel32.dll\”); pFn = (FnCreateThreadpoolWait) ::GetProcAddress (hlibrary,\”CreateThreadpoolWait\”); if (pFn == NulL) // Vista API not available …..
总结
以上是内存溢出为你收集整理的在XP中加载的DLL中使用新的Vista线程池API(在XP中不使用线程池代码)全部内容,希望文章能够帮你解决在XP中加载的DLL中使用新的Vista线程池API(在XP中不使用线程池代码)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容