<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Driver Kit (WDK) Documentation Blog</title><link>http://blogs.msdn.com/wdkdocs/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>September Documentation Update</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/10/07/september-documentation-update.aspx</link><pubDate>Wed, 07 Oct 2009 04:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9904067</guid><dc:creator>wdkblog</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9904067.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9904067</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;September’s documentation updates were posted to MSDN on October 2&lt;SUP&gt;nd&lt;/SUP&gt;, 2009. You can access the updated documentation here:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa972908.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://msdn.microsoft.com/en-us/library/aa972908.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;You can download the offline version of the documentation (in Hxs format) here:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;A href="http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;As a reminder, we only release the documentation in Chm format for major OS milestones.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9904067" width="1" height="1"&gt;</description></item><item><title>The File System Filter Test Suite</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/10/02/the-file-system-filter-test-suite.aspx</link><pubDate>Fri, 02 Oct 2009 04:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9902173</guid><dc:creator>wdkblog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9902173.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9902173</wfw:commentRss><description>&lt;P&gt;The Microsoft File System Filter team has created a Filter Test Suite to help filter ISVs prepare for the release of Windows 7. The test suite is a collection of regression tests that apply to a number of filtering points in the Windows platform: This test suite offers improved test coverage for file systems, networking, process, and registry filtering. &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;The primary goals of the test suite are to help in the following areas:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Identify potential reliability bugs in filter drivers&lt;/LI&gt;
&lt;LI&gt;Reduce the number of Windows crashes that customers experience&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;BR&gt;Be aware that the test suite is not part of the Windows Logo Kit (WLK), and is not a logo requirement at this time.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;The Filter Test Suite, which requires Windows 7, is available from the Microsoft Connect Web site.&amp;nbsp; If you do not have a Microsoft Connect account, you can request one by sending E-mail to &lt;A href="mailto:fsfcomm@microsoft.com"&gt;fsfcomm@microsoft.com&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span&gt;&lt;SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 15px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 12px" class=Apple-style-span&gt;&amp;nbsp;&amp;nbsp; -- Karlito Bonnevie [MSFT], Installable File Systems Programming Writer&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9902173" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/IFS/default.aspx">IFS</category></item><item><title>Changes to XPS Rasterization Filter Sample for Windows Vista SP2 with Platform Client Update</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/09/30/changes-to-xps-rasterization-filter-sample-for-windows-vista-sp2-with-platform-client-update.aspx</link><pubDate>Wed, 30 Sep 2009 03:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9901082</guid><dc:creator>wdkblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9901082.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9901082</wfw:commentRss><description>&lt;P&gt;If you are working with the Windows Vista SP2 with Platform Client Update, you will need to make some minor changes to the Print XPS Rasterization Filter Sample. If you want to know more about the Platform Client Update, see KB article &lt;A title=971644 href="http://support.microsoft.com/kb/971644" target=_blank mce_href="http://support.microsoft.com/kb/971644"&gt;971644&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Follow these steps to make the sample work in Vista SP2 with Platform Client Update:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Buld the sample using Windows 7.&lt;/LI&gt;
&lt;LI&gt;Change the &lt;STRONG&gt;xpsrassmpl.inf&lt;/STRONG&gt; file.&lt;/LI&gt;
&lt;LI&gt;Install the sample on Windows Vista SP2 with Platform Client Update.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;For step 2, make these changes to the XPSRASSMPL.INF file:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;U&gt;Change the Manufacturer section to read:&lt;/U&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;[Manufacturer]%Microsoft%=Microsoft,NTx86.6.1,NTia64.6.1,NTamd64.6.1,NTx86.6.0,NTia64.6.0,NTamd64.6.0&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;U&gt;Add the following sections after the Manufacturer section:&lt;/U&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;[Microsoft.NTx86.6.0]&lt;BR&gt;"XPSRas WDK Sample Driver" = INSTALL_FILTER&lt;BR&gt;[Microsoft.NTia64.6.0]&lt;BR&gt;"XPSRas WDK Sample Driver" = INSTALL_FILTER&lt;BR&gt;[Microsoft.NTamd64.6.0]&lt;BR&gt;"XPSRas WDK Sample Driver" = INSTALL_FILTER&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'MS Gothic'; mso-bidi-font-family: 'MS Gothic'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;－&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Seth McEvoy [MSFT], WDK Senior Programming Writer &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9901082" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/updates/default.aspx">updates</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/XPS/default.aspx">XPS</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/Vista+RC2/default.aspx">Vista RC2</category></item><item><title>IFS Plugfest 21 Goodies</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/09/22/ifs-plugfest-21-goodies.aspx</link><pubDate>Tue, 22 Sep 2009 04:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9897829</guid><dc:creator>wdkblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9897829.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9897829</wfw:commentRss><description>&lt;P&gt;Did you attend IFS Plugfest 21 but didn't get a chance to grab all the goodies?&amp;nbsp; If so (and you signed the IFS Plugfest 21 NDA), you can access the following goodies via Microsoft Connect.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Plugfest slides and videos &lt;/LI&gt;
&lt;LI&gt;Filter Test Suite VHD&lt;/LI&gt;
&lt;LI&gt;Windows Error Reporting Gadget (as demo'd by Kevin Hill)&lt;/LI&gt;
&lt;LI&gt;Security Provider Jumpstart Kit&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you don't already have a Microsoft Connect account, you can request one by sending E-mail to &lt;A href="mailto:fsfcomm@microsoft.com" mce_href="mailto:fsfcomm@microsoft.com"&gt;fsfcomm@microsoft.com&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span&gt;&lt;SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 15px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 12px" class=Apple-style-span&gt;&amp;nbsp;&amp;nbsp; -- Karlito Bonnevie [MSFT], Installable File Systems Programming Writer&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span&gt;&lt;SPAN style="TEXT-ALIGN: left; LINE-HEIGHT: 15px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 12px" class=Apple-style-span&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897829" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/IFS/default.aspx">IFS</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/plugfest/default.aspx">plugfest</category></item><item><title>What’s new in WDF docs for Win7?</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/08/26/what-s-new-in-wdf-docs-for-win7.aspx</link><pubDate>Wed, 26 Aug 2009 05:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9884507</guid><dc:creator>wdkblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9884507.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9884507</wfw:commentRss><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;I’m the doc writer for both Kernel-Mode Driver Framework (KMDF) and User-Mode Driver Framework (UMDF) documentation that’s in the Windows Driver Kit. Perhaps you’d like to know what I’ve been working on for Windows 7.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;I’ve always been the owner of KMDF docs in the WDK. At the beginning of the Windows 7 product timeframe I also took ownership of UMDF documentation, so all WDK documentation for both of the frameworks is now my responsibility. One of my goals is to bring UMDF documentation in alignment with KMDF documentation in terms of style, organization, and completeness.&amp;nbsp; I’ve been able to make some headway on this goal for Windows 7. For example, the reference sections of KMDF and UMDF are more aligned than previously. In addition, when I’ve added to the UMDF design guide, I’ve used the equivalent KMDF sections as prototypes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Naturally, I’ve spent a good deal of my time updating KMDF and UMDF docs for WDF version 1.9, which ships with Windows 7. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Want to know what changes I’ve made?&amp;nbsp; For KMDF,&amp;nbsp; see the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa938991.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa938991.aspx"&gt;&lt;SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;KMDF revision history&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; in the WDK docs on MSDN. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;For UMDF, see &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb981647.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb981647.aspx"&gt;&lt;SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;UMDF version information&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;, also in the WDK docs on MSDN.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;What’s next for me and WDF docs? In future documentation updates, I’ll be focusing on filling in gaps in the UMDF design guide and aligning its structure more closely to the KMDF design guide. When the UMDF and KMDF design guides and reference pages are in alignment, you’ll be able to more easily see where the two driver models are similar and where they diverge.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Your feedback is always welcome.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ansi-language: EN" lang=EN&gt;&amp;nbsp;&amp;nbsp;— Richard Brown [MSFT], WDK Senior Programming Writer&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9884507" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/UMDF/default.aspx">UMDF</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/planning/default.aspx">planning</category></item><item><title>MSDN Wiki Discontinued for WDK Documentation</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/08/21/msdn-wiki-discontinued-for-wdk-documentation.aspx</link><pubDate>Fri, 21 Aug 2009 07:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9878086</guid><dc:creator>wdkblog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9878086.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9878086</wfw:commentRss><description>&lt;DIV&gt;We’ve decided to shut off the Community Content (aka “wiki”) section of WDK documentation on MSDN. &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;A few months ago I provided &lt;A title="this post" href="http://blogs.msdn.com/wdkdocs/archive/2009/02/12/should-we-keep-the-msdn-wiki-on-wdk-doc-pages.aspx" target=_blank mce_href="http://blogs.msdn.com/wdkdocs/archive/2009/02/12/should-we-keep-the-msdn-wiki-on-wdk-doc-pages.aspx"&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;this blog post&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;, which questioned the usefulness of the Community Content feature for WDK documentation. Your responses to that post, and other feedback that we have received, confirmed our impression that the Community Content feature is providing little value to our customers.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;We continue to value your feedback about our documentation. We encourage you to point out errors and provide suggestions, and to send them to us by clicking on the “send feedback” link that’s at the bottom of each topic. The link appears both in the offline documentation that installs with the kit and in the online version on MSDN.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Community Content removal coincides with the Windows 7 RTM update of WDK documentation on MSDN.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: black; FONT-SIZE: 11pt; mso-fareast-font-family: 'Times New Roman'"&gt;&amp;nbsp;— &lt;/SPAN&gt;&lt;/FONT&gt;Richard Brown [MSFT&lt;FONT size=3 face=Calibri&gt;], WDK Senior Programming Writer &lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9878086" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/updates/default.aspx">updates</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/WDK+Issues/default.aspx">WDK Issues</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/announcement/default.aspx">announcement</category></item><item><title>Do You Have the Very Latest WDK Documentation?</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/08/14/do-you-have-the-very-latest-wdk-documentation.aspx</link><pubDate>Sat, 15 Aug 2009 01:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9870648</guid><dc:creator>wdkblog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9870648.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9870648</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Hopefully you've already downloaded the new Windows 7 version of the WDK, which has all the latest Windows 7 headers, libraries, samples, and test applications: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;We've also released an even later version of the documentation. It has additional topics that we wrote after the rest of the Windows 7 WDK was frozen. A few examples:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Device and Driver Installation: Device Metadata Packages (three new topics)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Display: Installing Display Drivers Optimized for Windows 7 and Later&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Network: Wake-on-Wireless LAN&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;FONT size=3 face=Calibri&gt;Grab this latest documentation at: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx#&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;FONT size=3 face=Calibri&gt;To view all the new Windows 7 material, in the Table of Contents click on &lt;B style="mso-bidi-font-weight: normal"&gt;New Information&lt;/B&gt; -&amp;gt; &lt;B style="mso-bidi-font-weight: normal"&gt;New for Windows 7&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&amp;nbsp;&lt;FONT face=Calibri&gt;－ Mark Lawler [MSFT], WDK Programming Writer&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9870648" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/updates/default.aspx">updates</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/WDK+Download/default.aspx">WDK Download</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/WDK+Issues/default.aspx">WDK Issues</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/WDK+Feedback/default.aspx">WDK Feedback</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/MSDN/default.aspx">MSDN</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/announcement/default.aspx">announcement</category></item><item><title>WDK Documentation Downloads Available</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/08/11/wdk-documentation-downloads-available.aspx</link><pubDate>Tue, 11 Aug 2009 19:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9864604</guid><dc:creator>wdkblog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9864604.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9864604</wfw:commentRss><description>&lt;P&gt;You can now download the Microsoft Windows Driver Kit (WDK) documentation for Windows 7 in either hxs or chm format from:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx"&gt;http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Please use the feedback link at the bottom of each documentation page to send us any comments you may have regarding these packages.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9864604" width="1" height="1"&gt;</description></item><item><title>Windows 7 WDK Documentation is Live on MSDN Online</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/08/07/windows-7-wdk-documentation-is-live-on-msdn-online.aspx</link><pubDate>Fri, 07 Aug 2009 03:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9859711</guid><dc:creator>wdkblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9859711.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9859711</wfw:commentRss><description>&lt;P&gt;As of a few minutes ago, the Windows 7 RTM WDK documentation refresh went live on MSDN online.&lt;/P&gt;
&lt;P&gt;You can access the new documentation here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa972908.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa972908.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Next week, the same content will be available in hxs and chm format on WHDC.&lt;/P&gt;
&lt;P&gt;You can also now download the WDK kit via the Microsoft Download Center.&amp;nbsp; For details, see:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx"&gt;http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9859711" width="1" height="1"&gt;</description></item><item><title>XPS Document API Now Available for Printer Driver Filter Modules</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/07/10/xps-document-api-now-available-for-printer-driver-filter-modules.aspx</link><pubDate>Sat, 11 Jul 2009 00:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9829094</guid><dc:creator>wdkblog</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9829094.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9829094</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;If you are a Print Driver developer using the XPS Filter Pipeline, you can now use unmanaged XPS functions that were previously only available as .NET managed code. Because these functions were originally written for .NET, they could not be called from a Print driver until now. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;These XPS functions will enable driver developers to modify XPS documents in greater detail when they are in the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa506195.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa506195.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;filter pipeline&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. This will make it possible to make custom changes to the documents before they get to the printer.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In addition, this API allows you to have access to the document metadata and content.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;This API was previously unavailable to Print Driver developers, but has been recently converted to unmanaged code and is now documented in the Windows SDK. The new documentation includes overviews of the XPS Object Model and complete coverage of all interfaces, methods, structures, and enumerators that are implemented by the XPS API. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;For more information, see the XPS Document Programming Guide and Reference at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd316976(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd316976(VS.85).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://msdn.microsoft.com/en-us/library/dd316976(VS.85).aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'MS Gothic'; mso-bidi-font-family: 'MS Gothic'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;－&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Seth McEvoy [MSFT], WDK Senior Programming Writer &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9829094" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/Printing/default.aspx">Printing</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/XPS/default.aspx">XPS</category></item><item><title>Customizing a Microsoft Auto Code Review (OACR) Project</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/07/10/customizing-a-microsoft-auto-code-review-oacr-project.aspx</link><pubDate>Sat, 11 Jul 2009 00:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9829085</guid><dc:creator>wdkblog</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9829085.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9829085</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd445214.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Microsoft Auto Code Review&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; (known by the acronym OACR) integrates &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa468782.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;PREfast for Drivers (PFD)&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; into the WDK &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms792409.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;build&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; environment and is available when you install the latest WDK for Windows 7. OACR automatically begins working when you open a build environment window, so you can start using OACR and PFD without any special setup. &lt;/FONT&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 6.65in; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" vAlign=top width=638&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Side note- the name game&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;When you expand the acronym OACR it should spell &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd445214.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Microsoft Auto Code Review&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;. For some reason, and I won’t mention names, it was inadvertently converted to &lt;I style="mso-bidi-font-style: normal"&gt;Windows Auto Code Review&lt;/I&gt; in earlier documentation. Go figure. This oversight has been corrected and the expanded name will appear as it should in future documentation&lt;SPAN style="mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;. I apologize for any confusion this mix-up might have caused.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Comic Sans MS'"&gt; &lt;/SPAN&gt;&lt;/I&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=4 face=Calibri&gt;OACR configuration files &lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;OACR uses two configuration files &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; &lt;I style="mso-bidi-font-style: normal"&gt;and OACRUser.ini&lt;/I&gt; to set preferences and to configure projects. Projects are your build targets, that is, a project is whatever driver or library you are building with the WDK build utility. The names of projects are determined by the directory where you are building and settings in the configuration file, &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt;, and by the &lt;I style="mso-bidi-font-style: normal"&gt;projects.mk&lt;/I&gt; file. The &lt;I style="mso-bidi-font-style: normal"&gt;OACRuser.ini &lt;/I&gt;file can be used by individuals to override the project settings in the &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; configuration file. The location of the &lt;I style="mso-bidi-font-style: normal"&gt;OACRUser.ini&lt;/I&gt; file is specified by the UserIniLocation setting in the &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; file. The default setting in the WDK is as follows:&lt;/FONT&gt;&lt;/P&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;UserIniLocation=%BASEDIR%\config\&lt;/FONT&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/PRE&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;If you want to use an &lt;I style="mso-bidi-font-style: normal"&gt;OACRUser.ini &lt;/I&gt;file, you will need to create the file and the &lt;I style="mso-bidi-font-style: normal"&gt;%BASEDIR% \config&lt;/I&gt; directory. The file and the directory are not provided when you install the WDK. The %BASEDIR% is the root directory of your WDK installation (for example, &lt;I style="mso-bidi-font-style: normal"&gt;C:\WinDDK\7600\&lt;/I&gt;).&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=4 face=Calibri&gt;OACR projects in the WDK&lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;In the WDK, OACR is configured for two projects: &lt;B style="mso-bidi-font-weight: normal"&gt;WDKsamples&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;Root&lt;/B&gt;. The &lt;B style="mso-bidi-font-weight: normal"&gt;WDKsamples&lt;/B&gt; project settings are used any time you build something under the &lt;I style="mso-bidi-font-style: normal"&gt;%BASEDIR%&lt;/I&gt; of WDK (for example, &lt;I style="mso-bidi-font-style: normal"&gt;C:\WinDDK\7600\&lt;/I&gt;). The &lt;B style="mso-bidi-font-weight: normal"&gt;Root&lt;/B&gt; project is the default build project and is used for anything built outside of the WDK directory structure (for example, C&lt;I style="mso-bidi-font-style: normal"&gt;:\myproj\src&lt;/I&gt;). &lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=4 face=Calibri&gt;Creating a private project using a custom include file&lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;You can add your own projects to the default OACR configuration file, as described in &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd445212.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Creating or Modifying an OACR Project&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. However, if you want to create a private project and you don’t want to add it to the &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; file, you can set up and environment variable and point to an include file. The settings in the include file are then added to &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt;. Wait! What about the &lt;I style="mso-bidi-font-style: normal"&gt;OACRUser.ini&lt;/I&gt; configuration file? Why can’t you use that? Well, the &lt;I style="mso-bidi-font-style: normal"&gt;OACRUser.ini&lt;/I&gt; file is used to override the project settings in the &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; configuration file and cannot be used to add projects. Here is how you go about creating a private project.&lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;1. Shutdown the OACR Monitor&lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Right click the OACR Monitor icon in the taskbar and click &lt;B style="mso-bidi-font-weight: normal"&gt;Close&lt;/B&gt;. Or type &lt;B style="mso-bidi-font-weight: normal"&gt;oacr stop&lt;/B&gt; in a build environment window. Close any build environment window you have open. You need to stop OACR and close the windows so that OACR can pick up the changes you will make in the following steps.&lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;2. Set the environment variable OACRUserFIles&lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Edit the System Properties on your computer and create the &lt;B style="mso-bidi-font-weight: normal"&gt;OACRUserFIles&lt;/B&gt; environment variable. Set the variable to point to a directory where you will create and store your private OACR project configuration file. &lt;/FONT&gt;&lt;/P&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;set OACRUserFIles=c:\myOACRprojects&lt;/FONT&gt;&lt;/PRE&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;3. Add the #include directive to the &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; file&lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; file is in the &lt;/FONT&gt;&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8pt; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;%BASEDIR%&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8pt"&gt;\&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;version&lt;/SPAN&gt;&lt;/EM&gt;\&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;bin&lt;/SPAN&gt;&lt;/EM&gt;\&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;arch\&lt;/SPAN&gt;&lt;/EM&gt;OACR &lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;directory. Add the following line at the end of the file:&lt;/FONT&gt;&lt;/P&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;#include optional %OACRUserFiles%\oacr.include.ini&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The &lt;I style="mso-bidi-font-style: normal"&gt;oacr.include.ini&lt;/I&gt; file is optional, so OACR does not complain if it doesn’t exist.&lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;4. Create the include file and define your OACR projects&lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Create the &lt;I style="mso-bidi-font-style: normal"&gt;oacr.include.ini&lt;/I&gt; file in the &lt;I style="mso-bidi-font-style: normal"&gt;%OACRUserFIles%&lt;/I&gt; directory. This include file is where you define your private OACR projects. For example, the following settings in the &lt;I style="mso-bidi-font-style: normal"&gt;oacr.include.ini&lt;/I&gt; file create a project called MyProject.&lt;/FONT&gt;&lt;/P&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;; project 'myProject': the code under src; relies on %OACRUserFIles%\project.mk&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;[MyProject]&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;; WarningLocations=^%BASEDIR%\\src&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;WarningNumbers=&amp;lt;level0&amp;gt;;&amp;lt;level1&amp;gt;;&amp;lt;level2&amp;gt;;&amp;lt;level3_PFD_samples&amp;gt;;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;ErrorNumbers=&amp;lt;level0&amp;gt;;&amp;lt;level1&amp;gt;;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;; Use PFD's settings for these&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;PREfastOptions=/MAXPATHS=256 /STACKHOGTHRESHOLD=1024&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;%_PREFAST_CYCLOMATIC%=2147483647&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;%PREFAST_DRIVERS%=0&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;[MyProject:x86] &lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;[MyProject:x86fre] &lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;[MyProject:x86chk]&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;[MyProject:amd64] &lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;[MyProject:amd64fre] &lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;[MyProject:amd64chk]&lt;/FONT&gt;&lt;/PRE&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;5. Create a &lt;I style="mso-bidi-font-style: normal"&gt;project.mk&lt;/I&gt; file in the target project directory&lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Just as with any new OACR project that you add to the &lt;I style="mso-bidi-font-style: normal"&gt;OACR.ini&lt;/I&gt; file, you need to create a &lt;I style="mso-bidi-font-style: normal"&gt;project.mk&lt;/I&gt; file and place that in the root directory of your source files. For more information, see &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd445212.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Creating or Modifying an OACR Project&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; . The &lt;I style="mso-bidi-font-style: normal"&gt;project.mk&lt;/I&gt; file for MyProject, would look like this:&lt;/FONT&gt;&lt;/P&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;_project_=MyProject&lt;/FONT&gt;&lt;/PRE&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;6. Restart the OACR Monitor &lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Open a new build environment window to start OACR. You need to open a new build environment window so that your %&lt;I style="mso-bidi-font-style: normal"&gt;OACRUserFIles&lt;/I&gt;% environment variable is used. When OACR starts up it reads the &lt;I style="mso-bidi-font-style: normal"&gt;oacr.include.ini&lt;/I&gt; file and treats its content as if it were part of &lt;I style="mso-bidi-font-style: normal"&gt;Oacr.ini&lt;/I&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;7. Verify that your OACR project is configured correctly &lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;In a build environment window, use the &lt;B style="mso-bidi-font-weight: normal"&gt;oacr checkini&lt;/B&gt; command to verify that your configuration files are set up correctly.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You should see something similar to the following:&lt;/FONT&gt;&lt;/P&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;c:\WinDDK\7138.0.0&amp;gt;oacr checkini&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;Configuration : C:\WinDDK\7138.0.0\bin\x86\OACR\oacr.ini&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Includes&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: C:\WinDDK\7138.0.0\bin\oacr_base.ini&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;C:\MyOACRProjects\oacr.include.ini&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Defines&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: x86&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;Customizations: C:\WinDDK\7138.0.0\config\oacruser.ini&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;No problems found&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/PRE&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Use the &lt;B style="mso-bidi-font-weight: normal"&gt;oacr showconfig&lt;/B&gt; &lt;I style="mso-bidi-font-style: normal"&gt;project&lt;/I&gt; command to verify that OACR can successfully read your project settings.&lt;/FONT&gt;&lt;/P&gt;&lt;PRE style="MARGIN-LEFT: 0.5in"&gt;&lt;FONT face=Consolas&gt;oacr showconfig MyProject&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;If your project is set up correctly, OACR shows the project configuration. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Note that you can also use the OACR commands &lt;B style="mso-bidi-font-weight: normal"&gt;oacr stop&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;oacr monitor&lt;/B&gt; to stop and start OACR. These commands are useful if you need to make changes to fix problems in the configuration files.&lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=3 face=Calibri&gt;8. Build your driver or library &lt;/FONT&gt;&lt;/H3&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;After you have verified that your OACR project is setup correctly, you can build your driver or library just as you are accustomed to doing. You only need to open a build environment window and navigate to you build target directory. OACR will use all of your project-specific settings. &lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;FONT color=#17365d size=4 face=Calibri&gt;What Next?&lt;/FONT&gt;&lt;/H2&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;There is a lot you can do to customize the build environment and your OACR and PFD settings. But the good news is you don’t have to. You can build your driver code just as you always have and still benefit from the integration of OACR in the WDK build environment. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;To learn more, read the documentation about &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd445214.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Microsoft Auto Code Review&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; (OACR) and &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa468782.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;PREfast for Drivers (PFD)&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; and check for new information in the monthly updates on MSDN. Also see the &lt;/FONT&gt;&lt;A href="http://go.microsoft.com/fwlink/?linkid=154232"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Static Driver Tools blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, it provides a wealth of information about using and customizing the static analysis tools, including PFD and &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa469108.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Static Driver Verifier&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. A recent blog posting describes the steps to create a “Static Driver Verifier Prerequisites” filter. For more information, see &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/staticdrivertools/archive/2009/05/07/make-static-driver-verifier-more-efficient-add-a-preset-filter-to-pfd-oacr-defect-viewer.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Make Static Driver Verifier More Efficient: Add a Preset Filter to PFD/OACR Defect Viewer&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; .&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp; -- Dave Hagen [MSFT], Programming Writer&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9829085" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/building+drivers/default.aspx">building drivers</category></item><item><title>New for Windows 7: Mobile Broadband Miniport Driver Documentation</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/07/07/new-for-windows-7-mobile-broadband-miniport-driver-documentation.aspx</link><pubDate>Tue, 07 Jul 2009 22:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9823089</guid><dc:creator>wdkblog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9823089.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9823089</wfw:commentRss><description>&lt;P&gt;Windows 7 has added new device driver interfaces (DDIs) to provide support for Mobile Broadband (MB) devices, beginning with Windows 7 Beta.&lt;/P&gt;
&lt;P&gt;MB miniport drivers are based on the NDIS 6.20 model. You can learn more about NDIS 6.20 at &lt;A href="http://msdn.microsoft.com/en-us/library/dd568055.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd568055.aspx&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The MB DDIs consist of 21 new OIDs, 20 new NDIS status notifications specific to MB, and their associated structures and enumerations including:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Features to describe the class of MB device, such as CDMA-based (1xRTT/1xEV-DO/1xEV-DO RevA/1xEvDO RevB) or GSM-based (GPRS/EDGE/UMTS/HSPA), and its capabilities&lt;/LI&gt;
&lt;LI&gt;WWAN network registration and service activation&lt;/LI&gt;
&lt;LI&gt;Packet data service&lt;/LI&gt;
&lt;LI&gt;Data service handoff&lt;/LI&gt;
&lt;LI&gt;SMS messaging&lt;/LI&gt;
&lt;LI&gt;Signal strength feedback&lt;/LI&gt;
&lt;LI&gt;Vendor-specific features&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;To learn more about writing an MB miniport driver for Windows 7, go to &lt;A href="http://msdn.microsoft.com/en-us/library/dd445701.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd445701.aspx&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;See &lt;A href="http://msdn.microsoft.com/en-us/library/dd446088.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd446088.aspx&lt;/A&gt; for the MB reference documentation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; -- Kevin Shirley [MSFT], Programming Writer&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9823089" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/announcement/default.aspx">announcement</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/networking/default.aspx">networking</category></item><item><title>WDK to Continue Posting Documentation in CHM Format</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/07/02/wdk-to-continue-posting-documentation-in-chm-format.aspx</link><pubDate>Thu, 02 Jul 2009 03:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9812363</guid><dc:creator>wdkblog</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9812363.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9812363</wfw:commentRss><description>&lt;P&gt;Thanks for all the feedback regarding the CHM version of the WDK documentation.&amp;nbsp; Based on your overwhelmingly positive response, we’ll continue posting the CHM version to WHDC at major Windows release intervals (Beta, RC, RTM, etc.).&amp;nbsp; The CHM for the Windows 7 RTM release will be posted near the end of July.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9812363" width="1" height="1"&gt;</description></item><item><title>Update to Windows 7 RC Version of the XPS Rasterization Filter Service Sample</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/07/01/update-to-windows-7-rc-version-of-the-xps-rasterization-filter-service-sample.aspx</link><pubDate>Wed, 01 Jul 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9810240</guid><dc:creator>wdkblog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9810240.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9810240</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Here are two updates that will help Printer driver developers who are working with the RC version of the XPS Rasterization Filter Service sample. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;If you are using the RC version of the XPS Rasterization Filter Service sample, it is strongly recommended that you work directly with the WIC bitmap returned from the XPS Rasterization service rather than the calls into WIC to encode each band as a TIFF. The sample calls into WIC for encoding each band were for demonstration purposes only and are not recommended for larger applications because they could be inefficient and difficult.&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;In the sample, the output file consists of a series of per-band TIFFs. Because this file will be a series of complete TIFFs and not a single-page TIFF, opening the file in a viewer will only display the first band of the first page. More details can be found in the bitmaphandler.cpp file that is included in the sample source code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The Windows 7 RTM version of the sample documentation will include this update. In the meantime, until Windows 7 is released, apply these changes to the sample documentation at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd434895.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd434895.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://msdn.microsoft.com/en-us/library/dd434895.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-add-space: auto" class=MsoListParagraph&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'MS Gothic'; mso-bidi-font-family: 'MS Gothic'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;－&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;Seth McEvoy [MSFT], WDK Senior Programming Writer &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9810240" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/updates/default.aspx">updates</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/Printing/default.aspx">Printing</category></item><item><title>Kernel Programming: Nt and Zw Versions of the Native System Services Routines</title><link>http://blogs.msdn.com/wdkdocs/archive/2009/06/30/kernel-programming-nt-and-zw-versions-of-the-native-system-services-routines.aspx</link><pubDate>Tue, 30 Jun 2009 08:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9809310</guid><dc:creator>wdkblog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wdkdocs/comments/9809310.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wdkdocs/commentrss.aspx?PostID=9809310</wfw:commentRss><description>&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt;The &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms804352.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms804352.aspx"&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;Windows native operating system services API&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; is implemented as a set of routines that run in kernel mode. These routines have names that begin with the prefix &lt;B&gt;Nt&lt;/B&gt; or &lt;B&gt;Zw&lt;/B&gt;. Kernel-mode drivers can call these routines directly. User-mode applications can access these routines through system calls.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt;With a few exceptions, each native system services routine has two slightly different versions that have similar names but different prefixes. For example, calls to &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb432380.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb432380.aspx"&gt;&lt;B&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;NtCreateFile&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt; and &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms804358.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms804358.aspx"&gt;&lt;B&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;ZwCreateFile&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; perform similar operations and are, in fact, serviced by the same kernel-mode system routine. For system calls from user mode, the &lt;B&gt;Nt&lt;/B&gt; and &lt;B&gt;Zw&lt;/B&gt; versions of a routine behave identically. For calls from a kernel-mode driver, the &lt;B&gt;Nt&lt;/B&gt; and &lt;B&gt;Zw&lt;/B&gt; versions of a routine differ in the way that they handle the parameter values that the caller passes to the routine.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt;A kernel-mode driver calls the &lt;B&gt;Zw&lt;/B&gt; version of a native system services routine to inform the routine that the parameters come from a trusted, kernel-mode source. In this case, the routine assumes that it can safely use the parameters without first validating them. However, if the parameters might be from either a user-mode source or a kernel-mode source, the driver instead calls the &lt;B&gt;Nt&lt;/B&gt; version of the routine. The &lt;B style="mso-bidi-font-weight: normal"&gt;Nt&lt;/B&gt; version determines, based on the history of the calling thread, whether the parameters originated in user mode or kernel mode. (How does the &lt;B style="mso-bidi-font-weight: normal"&gt;Nt&lt;/B&gt; routine distinguish user-mode parameters from kernel-mode parameters? See&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;Previous Mode,&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; below.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When a user-mode application calls the &lt;B&gt;Nt&lt;/B&gt; or &lt;B&gt;Zw&lt;/B&gt; version of a native system services routine, the routine always treats the parameters that it receives as values that come from an untrusted, user-mode source. The routine thoroughly validates the parameter values before it uses the parameters. In particular, the routine probes any caller-supplied buffers to verify that the buffers reside in valid user-mode memory and are properly aligned.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Native system services routines make additional assumptions about the parameters that they receive. If a routine receives a pointer to a buffer that was allocated by a kernel-mode driver, the routine assumes that the buffer was allocated in system memory, not in user-mode memory. If the routine receives a handle that was opened by a user-mode application, the routine looks for the handle in the user-mode handle table, not in the kernel-mode handle table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-font-kerning: 18.0pt"&gt;&lt;FONT size=4&gt;&lt;FONT color=#4f81bd&gt;&lt;FONT face=Cambria&gt;PreviousMode&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt;When a user-mode application calls the &lt;B&gt;Nt&lt;/B&gt; or &lt;B&gt;Zw&lt;/B&gt; version of a native system services routine, the system call mechanism traps the calling thread to kernel mode. To indicate that the parameter values originated in user mode, the trap handler for the system call sets the &lt;B&gt;PreviousMode&lt;/B&gt; field in the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa490169.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa490169.aspx"&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;thread object&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; of the caller to &lt;B&gt;UserMode&lt;/B&gt;. The native system services routine checks the &lt;B&gt;PreviousMode&lt;/B&gt; field of the calling thread to determine whether the parameters are from a user-mode source.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If a kernel-mode driver calls a native system services routine and passes parameter values to the routine that are from a kernel-mode source, the driver must ensure that the &lt;B&gt;PreviousMode&lt;/B&gt; field in the current thread object is set to &lt;B&gt;KernelMode&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;A kernel-mode driver can run in the context of an arbitrary thread, and the &lt;B&gt;PreviousMode&lt;/B&gt; field of this thread might be set to &lt;B&gt;UserMode&lt;/B&gt;. In this situation, a kernel-mode driver can call the &lt;B&gt;Zw&lt;/B&gt; version of a native system services routine to inform the routine that the parameter values are from a trusted, kernel-mode source. The &lt;B&gt;Zw&lt;/B&gt; call goes to a thin wrapper function that overrides the &lt;B&gt;PreviousMode&lt;/B&gt; value in the current thread object. The wrapper function sets &lt;B&gt;PreviousMode&lt;/B&gt; to &lt;B&gt;KernelMode&lt;/B&gt; and calls the &lt;B&gt;Nt&lt;/B&gt; version of the routine. On return from the &lt;B&gt;Nt&lt;/B&gt; version of the routine, the wrapper function restores the original &lt;B&gt;PreviousMode&lt;/B&gt; value of the thread object and returns.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;A kernel-mode driver can directly call the &lt;B&gt;Nt&lt;/B&gt; version of a native system services routine. When a kernel-mode driver processes an I/O request that might have originated either in user mode or in kernel mode, the driver can call the &lt;B&gt;Nt&lt;/B&gt; version of the routine to ensure that the &lt;B&gt;PreviousMode&lt;/B&gt; value of the current thread remains unaltered during the call. That way, the routine can determine whether the parameter values are from a user-mode application or a kernel-mode component, and treat them accordingly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;An error can occur if a kernel-mode driver calls an &lt;B&gt;Nt&lt;I&gt;Xxx&lt;/I&gt;&lt;/B&gt; routine and the &lt;B&gt;PreviousMode&lt;/B&gt; value in the current thread object does not accurately indicate whether the parameter values are from a user-mode or a kernel-mode source.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt;For example, assume that a kernel-mode driver is running in the context of an arbitrary thread, and that the &lt;B&gt;PreviousMode&lt;/B&gt; value for this thread is set to &lt;B&gt;UserMode&lt;/B&gt;. If this driver passes a kernel-mode file handle to the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms804356.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms804356.aspx"&gt;&lt;B&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;NtClose&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; routine, this routine attempts to close the user-mode handle of the arbitrary thread instead of the kernel-mode handle. When &lt;B&gt;NtClose&lt;/B&gt; fails to find the handle in the user-mode handle table, it returns the STATUS_INVALID_HANDLE error code. Meanwhile, the driver leaks the kernel-mode handle, which was never closed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt;For another example, if the parameters for an &lt;B&gt;Nt&lt;I&gt;Xxx&lt;/I&gt;&lt;/B&gt; routine include an input or output buffer, and if &lt;B&gt;PreviousMode&lt;/B&gt; is &lt;B&gt;UserMode&lt;/B&gt;, the routine calls the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa489870.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa489870.aspx"&gt;&lt;B&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;ProbeForRead&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt; or &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms797108.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms797108.aspx"&gt;&lt;B&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;ProbeForWrite&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; routine to validate the buffer. If the buffer was allocated in system memory instead of in user-mode memory, the &lt;B&gt;ProbeFor&lt;I&gt;Xxx&lt;/I&gt;&lt;/B&gt; routine raises an exception, and the &lt;B&gt;Nt&lt;I&gt;Xxx&lt;/I&gt;&lt;/B&gt; routine returns the STATUS_ACCESS_VIOLATION error code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt;If necessary, a driver can call the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms796891.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms796891.aspx"&gt;&lt;B&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;ExGetPreviousMode&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3 face=Calibri&gt; routine to get the &lt;B&gt;PreviousMode&lt;/B&gt; value from the current thread object. Alternatively, the driver can read the &lt;B&gt;RequestorMode&lt;/B&gt; field from the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd852053.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd852053.aspx"&gt;&lt;SPAN style="TEXT-DECORATION: none; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;FONT color=#0066ff size=3 face=Calibri&gt;IRP&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; structure that describes the requested I/O operation. The &lt;B&gt;RequestorMode&lt;/B&gt; field contains a copy of the &lt;B&gt;PreviousMode&lt;/B&gt; value from the thread that requested the operation. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 10pt 0in 0pt"&gt;&lt;SPAN style="mso-fareast-font-family: 'Times New Roman'; mso-font-kerning: 18.0pt"&gt;&lt;FONT size=4&gt;&lt;FONT color=#4f81bd&gt;&lt;FONT face=Cambria&gt;What Does the Zw Prefix Mean?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The Windows native system services routines have names that begin with the prefixes &lt;B&gt;Nt&lt;/B&gt; and &lt;B&gt;Zw&lt;/B&gt;. The &lt;B&gt;Nt&lt;/B&gt; prefix is an abbreviation of Windows&amp;nbsp;NT, but the &lt;B&gt;Zw&lt;/B&gt; prefix has no meaning. &lt;B&gt;Zw&lt;/B&gt; was chosen partly to avoid potential naming conflicts with other APIs, and partly to avoid using any potentially useful two-letter prefixes that might be needed for future APIs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Today, the &lt;B style="mso-bidi-font-weight: normal"&gt;Zw&lt;I style="mso-bidi-font-style: normal"&gt;Xxx&lt;/I&gt;&lt;/B&gt; routines are more visible to drivers and to applications than the kernel architects might have anticipated in the early days of Windows&amp;nbsp;NT development. In retrospect, perhaps a more meaningful prefix could have been chosen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;– Jerry Van Aken [MSFT], WDK Programming Writer&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0.1in 0in" class=MsoNormal&gt;&lt;SPAN style="COLOR: black; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9809310" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wdkdocs/archive/tags/kernel+mode/default.aspx">kernel mode</category></item></channel></rss>