﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-日日勤作息-随笔分类-驱动开发</title><link>http://www.cppblog.com/zealsoft/category/2171.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 03:51:07 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 03:51:07 GMT</pubDate><ttl>60</ttl><item><title>DriverWorks的KPciConfiguration不支持x64平台的解决方法 </title><link>http://www.cppblog.com/zealsoft/archive/2006/07/09/9607.html</link><dc:creator>zealsoft</dc:creator><author>zealsoft</author><pubDate>Sun, 09 Jul 2006 08:32:00 GMT</pubDate><guid>http://www.cppblog.com/zealsoft/archive/2006/07/09/9607.html</guid><wfw:comment>http://www.cppblog.com/zealsoft/comments/9607.html</wfw:comment><comments>http://www.cppblog.com/zealsoft/archive/2006/07/09/9607.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zealsoft/comments/commentRss/9607.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zealsoft/services/trackbacks/9607.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天移植以前用DriverWorks编写的一个驱动到x64平台上，编译时没有什么问题，但链接的时候发现无法找到KPciConfiguration::Enumerate，经过一段时间的探索，找到了一种临时解决方案。由于		KPciConfiguration		的构造函数中也使用了这个函数，而且程序中大量使用了KPciConfiguration类，这意味着要大量修改代码，真是头痛		检查D...&nbsp;&nbsp;<a href='http://www.cppblog.com/zealsoft/archive/2006/07/09/9607.html'>阅读全文</a><img src ="http://www.cppblog.com/zealsoft/aggbug/9607.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zealsoft/" target="_blank">zealsoft</a> 2006-07-09 16:32 <a href="http://www.cppblog.com/zealsoft/archive/2006/07/09/9607.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DriverWorks 3.2在Windows Server 2003 SP1 DDK下如何编译库文件 </title><link>http://www.cppblog.com/zealsoft/archive/2006/07/09/9597.html</link><dc:creator>zealsoft</dc:creator><author>zealsoft</author><pubDate>Sun, 09 Jul 2006 02:22:00 GMT</pubDate><guid>http://www.cppblog.com/zealsoft/archive/2006/07/09/9597.html</guid><wfw:comment>http://www.cppblog.com/zealsoft/comments/9597.html</wfw:comment><comments>http://www.cppblog.com/zealsoft/archive/2006/07/09/9597.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/zealsoft/comments/commentRss/9597.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zealsoft/services/trackbacks/9597.html</trackback:ping><description><![CDATA[DriverWorks在安装之后不能立即使用，需要先编译库文件，然后才能正常使用。我以前在Windows 2000下使用过DriverWorks，感觉编译库文件非常容易，但这次在Windows Server 2003 SP1 DDK（3790.1830）下进行编译还是遇到一些困难，特别记录下来，以免忘记。<br />Windows XP以后的DDK越来越复杂，因为每个DDK都要支持多个操作系统和不同的CPU，其目录结构较Windows 2000 DDK有很大不同。<br />我以前都是在Visual C++ 6.0的集成环境中使用DriverWorks，这次也不例外。启动Visual C++ 6.0后，先点击菜单的DriverStudio | DDK Build Settings项，设置好DDK的路径。<br /><img src="http://zealsoft.cnblogs.com/images/cnblogs_com/zealsoft/ddksettings.JPG" border="0" /><br /><br />然后打开<font face="Courier New">C:\Program Files\Compuware\DriverStudio\DriverWorks\Source\vdwlibs.dsw，选择</font><font face="Times New Roman">菜单的<span class="hcp1">Build</span> | <span class="hcp1">Batch Build进行编译，32位的库(i386)都编译成功了，kndiswdm.lib也都编译成功，但是vdw_wdm.lib和vdw.lib的IA64和AMD64库都报错，没有成功。错误出现在stl库的_threads.h文件的442行:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://zealsoft.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"># </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">*ty 11/24/2001 - added configuration check</span><span style="COLOR: #008000"><br /><img src="http://zealsoft.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">#  error </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Unknown thread facility configuration</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://zealsoft.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /># endif</span></div>在Google上搜了一下，未果；又去驱动开发网上找了一下，没有什么有用的信息，一时陷入了困境。又看了一下帮助，发现它提到编译库一共有三种方法，而我用的只是其中的一种，决定再尝试一种。首先，使用Build | Set Active Configuration切换到Vdwlibs - Win32 AMD64 NT 4 Free项。<br /><img src="http://zealsoft.cnblogs.com/images/cnblogs_com/zealsoft/activeconfig.JPG" border="0" /><br /><br />再选择DriverStudio | Build with BUILD.EXE，进行编译，没有任何错误，成功了<img height="20" src="http://www.cnblogs.com/Emoticons/QQ/47.gif" width="20" border="0" /><br />这真是出乎意料，我本来以为三种方法是一样的，现在看来，Build with BUILD.EXE可能是Compuware内部使用的比较多的选项，测试比较完善。Build with BUILD.EXE一次只能编译一个配置，所以还需要多次使用Build | Set Active Configuration才能完成所有的编译工作。<br /></span></font><img src ="http://www.cppblog.com/zealsoft/aggbug/9597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zealsoft/" target="_blank">zealsoft</a> 2006-07-09 10:22 <a href="http://www.cppblog.com/zealsoft/archive/2006/07/09/9597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>