<?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>Trouble Ahead- Trouble Behind : customer service</title><link>http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx</link><description>Tags: customer service</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>New WDF debugging videos on WHDC</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/09/22/9898002.aspx</link><pubDate>Tue, 22 Sep 2009 16:41:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9898002</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9898002.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9898002</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9898002</wfw:comment><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/whdc/devtools/debugging/kmdf.mspx" target="_blank"&gt;Several for KMDF here&lt;/a&gt;, and &lt;a href="http://www.microsoft.com/whdc/devtools/debugging/umdftraining.mspx" target="_blank"&gt;several more for UMDF here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Thus endeth today’s PR blitzen.&amp;#160; Have fun!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9898002" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/debugging/default.aspx">debugging</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/UMDF/default.aspx">UMDF</category></item><item><title>Yet another WDF Blogger</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/09/02/9890416.aspx</link><pubDate>Wed, 02 Sep 2009 17:44:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9890416</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9890416.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9890416</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9890416</wfw:comment><description>&lt;p&gt;But that is a good thing.&amp;#160; &lt;a href="http://blogs.msdn.com/nebulut/archive/2009/09/01/device-driver-logo-using-wdf-co-installers.aspx"&gt;With a post yesterday&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/nebulut/"&gt;Neslihan&lt;/a&gt; has made her MSDN blogs debut. &lt;a href="http://blogs.msdn.com/bobkjelgaard/archive/2008/06/28/potential.aspx"&gt;As I said long ago&lt;/a&gt;, you can expect great things to come from her.&amp;#160; She is already our resident expert on all things WLK and particularly with respect to WHQL for WDF devices. I’ve already added her to my list of colleagues here, so adieu for now…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9890416" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item><item><title>The Case of the Unexpected Overload</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/08/03/9856270.aspx</link><pubDate>Mon, 03 Aug 2009 17:31:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9856270</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9856270.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9856270</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9856270</wfw:comment><description>&lt;p&gt;So are you using C++ in a KMDF driver and scratching your head over some unexpectedly unresolved references?&lt;/p&gt;  &lt;p&gt;I recently engaged in a somewhat prolonged conversation with &lt;a href="http://blogs.msdn.com/doronh" target="_blank"&gt;Doron&lt;/a&gt; and a dev I won’t name [since I didn’t ask for permission] about C++ in KMDF driver.&amp;#160; This dev (a very good dev, by the way) had hit a stumbling point converting a driver from C to C++ and was wondering if we had ever tried this in QA.&lt;/p&gt;  &lt;p&gt;Yes, I know that means he/she doesn’t read this blog, since I’ve mentioned doing just that on more than one occasion.&amp;#160; But that’s OK, not many people do- and since I’ve got a tendency to write about whatever strikes my fancy at any moment, and I’m not the most dazzlingly brilliant human on the face of the planet, that’s not much of a surprise to me.&amp;#160; You are of course free to believe what you like about that statement.&lt;/p&gt;  &lt;p&gt;But in an attempt to be useful today- the problem was one of those that I guess I’ve hit so many times I don’t give it much thought.&amp;#160; But it gave our dev a bit of trouble, and not much gives this person that kind of trouble.&amp;#160; So perhaps a word to the wise will give the three or four of you still reading this a leg up the next time you use C++ in a KMDF driver.&lt;/p&gt;  &lt;h4&gt;The Lesson for Today Is…&lt;/h4&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;p&gt;It was just a simple conversion of a driver from C to C++ (to gauge my familiarity with the process, I did that with a half dozen or more drivers last week, and it was far from the only thing I did that week- in fact the big job was actually that I also made them W4 and PFD clean along with quite a few more drivers I’d already converted to C++- almost two dozen drivers total), but it ran afoul of this little bit of goodness:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;typedef
__drv_functionClass(EVT_WDF_OBJECT_CONTEXT_CLEANUP)
__drv_sameIRQL
__drv_maxIRQL(DISPATCH_LEVEL)
VOID
EVT_WDF_OBJECT_CONTEXT_CLEANUP(
    __in
    WDFOBJECT Object
    );

typedef EVT_WDF_OBJECT_CONTEXT_CLEANUP *PFN_WDF_OBJECT_CONTEXT_CLEANUP;&lt;/pre&gt;

&lt;p&gt;&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;That’s the “role typedef” for any WDF object’s context cleanup routine.&amp;#160; The SDV tool can use role typedefs to do a better job of statically verifying your driver code, so some special cleanup typedefs are defined to make it a better tool, and you can see them in this (by the way, everything I’m posting is from the WDK- no deep dark secrets here).&lt;/p&gt;

&lt;pre class="csharpcode"&gt;typedef EVT_WDF_OBJECT_CONTEXT_CLEANUP EVT_WDF_DEVICE_CONTEXT_CLEANUP;
typedef EVT_WDF_OBJECT_CONTEXT_DESTROY EVT_WDF_DEVICE_CONTEXT_DESTROY;
typedef EVT_WDF_OBJECT_CONTEXT_CLEANUP EVT_WDF_IO_QUEUE_CONTEXT_CLEANUP_CALLBACK;
typedef EVT_WDF_OBJECT_CONTEXT_DESTROY EVT_WDF_IO_QUEUE_CONTEXT_DESTROY_CALLBACK;
typedef EVT_WDF_OBJECT_CONTEXT_CLEANUP EVT_WDF_FILE_CONTEXT_CLEANUP_CALLBACK;
typedef EVT_WDF_OBJECT_CONTEXT_DESTROY EVT_WDF_FILE_CONTEXT_DESTROY_CALLBACK;&lt;/pre&gt;

&lt;p&gt;&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;So, what the original driver, being a good sample [because SDV suitability also matters], had was something like this (not exactly like this- nobody with my twisted sense of humor writes sample code, because humor never works globally- someone always takes offense- I’m just not inclined to care about that anymore, because I’m a callous old bastard with less than a dozen years to retirement age and not much “career” left to lose):&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="rem"&gt;// In the header file:&lt;/span&gt;

EVT_WDF_DEVICE_CONTEXT_CLEANUP HideTheBodies;

&lt;span class="rem"&gt;// In the implementation&lt;/span&gt;
VOID
HideTheBodies(
    __in WDFDEVICE MortTheMortuaryTechnicianIsOnTheJob
    )
{
...&lt;/pre&gt;

&lt;p&gt;Of course, in C, that sort of works- but&lt;u&gt; &lt;strong&gt;in C++, that says you have two overloaded versions&lt;/strong&gt;&lt;/u&gt;&lt;strong&gt; &lt;/strong&gt;of &lt;strong&gt;&lt;em&gt;HideTheBodies&lt;/em&gt;&lt;/strong&gt;- one takes a WDFOBJECT as input, and isn’t defined, because nobody wrote it that way.&amp;#160; The one that is defined takes a WDFDEVICE as input.&amp;#160; More annoying, of course, is that from the typedef name, you’d expect it would take a WDFDEVICE as input, so it isn’t an error that’s glaringly obvious.&lt;/p&gt;

&lt;p&gt;As is- the code will compile fine, and PFD will be happy, too [they’re not the same function, remember].&amp;#160; But when you link it, you get an unresolved reference for &lt;em&gt;&lt;strong&gt;HideTheBodies&lt;/strong&gt;&lt;/em&gt;- decorated to indicate it has a WDFOBJECT parameter.&amp;#160; Now, unless you really look closely at such decorations (something my fine history of mistyping the simplest of code has taught me to do), you’re looking at a mystery.&amp;#160; It took my colleague digging through preprocessor output and object files and such to finally hit upon the error- a reasonably annoying circumstance!&lt;/p&gt;

&lt;p&gt;Another thing you can do (and this is what I usually do) is tie the callbacks to the context itself (with the context a class) as static member functions, as &lt;a href="http://blogs.msdn.com/bobkjelgaard/archive/2009/03/12/using-c-in-a-kmdf-driver-part-1-a-pattern-for-using-contexts-as-objects.aspx"&gt;I described earlier&lt;/a&gt; (effectively you do the cleanup by calling the context’s “delete” operator).&amp;#160; PFD currently doesn’t match the roletype if you do this, so I suppress those warnings (and there is no SDV for C++)- I think we’re trying to get that fixed…&amp;#160; But the compiler will catch the parameter type mismatch- a bit earlier than the linker.&lt;/p&gt;

&lt;p&gt;But I’ve hosed this both ways- so, until something on the subject gets posted by a recognized authority, this post can at least be found by the diligent searcher…&lt;/p&gt;
&lt;style type="text/css"&gt;



.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9856270" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/PFD/default.aspx">PFD</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/C_2B002B00_/default.aspx">C++</category></item><item><title>Having trouble with WTT Logger from your WDTF script?</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/07/30/having-trouble-with-wtt-logger-from-your-wdtf-script.aspx</link><pubDate>Thu, 30 Jul 2009 14:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9853224</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9853224.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9853224</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9853224</wfw:comment><description>&lt;P&gt;Just a quick note, since someone asked about this recently on one of the WDTF support aliases and for a change, I actually knew the answer without looking it up.&lt;/P&gt;
&lt;P&gt;The sample scripts will try to create a COM automation object from the ProgId WTTLogger.Logger.&lt;/P&gt;
&lt;P&gt;The file you are looking for is named WTTLogCM.Dll, and all you need to do is register it:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open a command prompt (administrative, I believe).&lt;/LI&gt;
&lt;LI&gt;Regsvr32 &amp;lt;path to WTTLogCM.DLL&amp;gt;&lt;/LI&gt;
&lt;LI&gt;Popup should say DllRegisterServer succeeded.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;That’s it!&amp;nbsp; You can unregister it later with regsvr32 /u.&lt;/P&gt;
&lt;P&gt;You can find the file in the WDK- in the server 2008 WDK (6001.18002) it lives in tools\wdtf\&amp;lt;arch&amp;gt;\redist\Extras.&amp;nbsp; If you look through the WDK tree, you may also find a wttlog.dll- wrong one!&amp;nbsp; For the curious, that’s got a direct call interface for native code apps- but that’s not suitable for scripting.&lt;/P&gt;
&lt;P&gt;Happens I’ve been developing a couple of COM automation in-process servers of the same type for some of my own test tools, and I live and die by WTT, anyway- so for a change, the answer was a no-brainer…&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9853224" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/WDTF/default.aspx">WDTF</category></item><item><title>2008 DDC slides now available to all!</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/07/22/2008-ddc-slides-now-available-to-all.aspx</link><pubDate>Wed, 22 Jul 2009 14:24:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9844701</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9844701.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9844701</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9844701</wfw:comment><description>&lt;p&gt;Got an email late last week stating that the material I and others presented at the 2008 Driver Developers Conference (which Dieter and James want renamed to Driver Development and Test Conference- more power to that idea!) is now available &lt;a href="http://www.microsoft.com/whdc/resources/ddc/default.mspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The sessions I participated in are a &lt;a href="http://download.microsoft.com/download/D/1/D/D1DD7745-426B-4CC3-A269-ABBBE427C0EF/DDE-T689_DDC08.pptx" target="_blank"&gt;description of several WDF test technologies&lt;/a&gt; and some hand waving about &lt;a href="http://download.microsoft.com/download/D/1/D/D1DD7745-426B-4CC3-A269-ABBBE427C0EF/DDE-T687_DDC08.pptx" target="_blank"&gt;troubleshooting WDF installation problems&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If you are a tester, you might also want to take a look at James and Dieter’s &lt;a href="http://download.microsoft.com/download/D/1/D/D1DD7745-426B-4CC3-A269-ABBBE427C0EF/DDE-T673_DDC08.pptx" target="_blank"&gt;presentation on concurrency testing&lt;/a&gt;, and who wouldn’t want to know about the &lt;a href="http://download.microsoft.com/download/D/1/D/D1DD7745-426B-4CC3-A269-ABBBE427C0EF/DDE-T677_DDC08.pptx" target="_blank"&gt;new Driver Verifier features for Win7&lt;/a&gt; (ably presented by Daniel Mihai)?&amp;#160; I also recommend the &lt;a href="http://download.microsoft.com/download/D/1/D/D1DD7745-426B-4CC3-A269-ABBBE427C0EF/DDE-C679_DDC08.pptx" target="_blank"&gt;presentation on DSF&lt;/a&gt;, because in many ways I live and die by DSF.&lt;/p&gt;  &lt;p&gt;That would be “Device Simulation Framework” if the acronym is unknown to you.&amp;#160; Sooner or later, having an easily reproduced software simulator for a device trumps going to EBay to buy some long out-of-production hardware your test driver must have…&amp;#160; That’s just one reason I like it, but that’s all I have time for now…&lt;/p&gt;  &lt;p&gt;There’s more- but that’s why it’s called a “browser”, eh?&amp;#160; By all means, browse!&lt;/p&gt;  &lt;p&gt;As for why it took so long to make public- remember this conference occurred under non-disclosure agreements.&amp;#160; Takes some time to unravel things and get all the requisite hoops jumped through.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9844701" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/UMDF/default.aspx">UMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/test+development/default.aspx">test development</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DSF/default.aspx">DSF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Driver+Verifier/default.aspx">Driver Verifier</category></item><item><title>Automated Jobs and Library Jobs</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/03/12/automated-jobs-and-library-jobs.aspx</link><pubDate>Thu, 12 Mar 2009 14:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9471592</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9471592.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9471592</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9471592</wfw:comment><description>&lt;P&gt;I received an IM late yesterday evening (my time) from “James” (via the Web) asking what the difference is between an automated job and a library job.&amp;nbsp; Unfortunately, I wasn’t around to answer it (I started work about 2 AM PDT today, and the IM was from about 9:30 PM PDT yesterday), but it’s rare I get asked something I can flip an answer to off the top of my head, so…&lt;/P&gt;
&lt;P&gt;I’m assuming this is in the context of the Device Test Manager (DTM) in the Windows Logo Kit (WLK).&amp;nbsp; That is a derivative of a larger internal-use product we call WTT (Windows Test Technologies), so I’ll assume the same answer applies to both, because I’m sure it does (and if I’m wrong, feel free to correct me).&lt;/P&gt;
&lt;P&gt;If you’re a programmer, the fastest rough analogy is that an Automated Job is like a C / C++ “main” while the Library job is like a “function” in the runtime library (or some DLL, etc).&amp;nbsp; The important difference here being that a job can “call” a library job and pass it parameters, while you cannot “call” an automated job- you can schedule it (and give it parameters) just like you can invoke a program (and give it parameters) from a command shell- but we don’t have analogs like piping and redirection of I/O etc in this execution environment.&lt;/P&gt;
&lt;P&gt;They are a lot alike- both can be scheduled and given run-time parameters, and possess fairly similar capabilities.&lt;/P&gt;
&lt;P&gt;So why not make all Automated jobs Library Jobs?&amp;nbsp; One strong reason is that Automated Jobs can be constrained [have a set of circumstances spelled out to detail the requirements for running the job- one common one in device testing is the presence of a particular kind of hardware, for instance] while library jobs cannot.&amp;nbsp; Another one I use occasionally perhaps ventures into the realm of the political- making a job an automated job so that it doesn’t wind up being called as a library job if you expect such a usage to have untoward consequences.&lt;/P&gt;
&lt;P&gt;The best practice, especially initially, is to make most jobs library jobs- this gives you the most flexibility as you combine them later.&amp;nbsp; You can work on them in pieces and then combine the pieces fairly easily.&lt;/P&gt;
&lt;P&gt;Well, James- if you’re still searching for that answer, perhaps this will help.&amp;nbsp; If not, maybe it will help someone else later.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9471592" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/test+development/default.aspx">test development</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DTM/default.aspx">DTM</category></item><item><title>Bad Advice No Matter Where it Came From</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/02/07/bad-advice-no-matter-where-it-came-from.aspx</link><pubDate>Sat, 07 Feb 2009 19:34:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9404945</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9404945.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9404945</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9404945</wfw:comment><description>&lt;p&gt;Just a short post- in the “don’t do this at home” category.&lt;/p&gt;  &lt;p&gt;I was recently asked to assist someone with another KMDF installation issue, and in this case, the Internet proved itself to be everything it shouldn’t be- a treasure trove of unchallenged bad advice.&lt;/p&gt;  &lt;p&gt;I don’t care where you read it- deleting wdf01000.sys and wdfldr.sys from %windir%\system32\drivers of a machine is:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;So rarely necessary as a problem-solving step you shouldn’t even be thinking about doing it.&lt;/li&gt;    &lt;li&gt;Very likely to make things worse than they were before you started.&amp;#160; If you are using any OS beginning with Windows Vista, it can turn your machine into an unusable paperweight, and you may find it very difficult to recover.&amp;#160; Plus there are enough drivers in general use now even the earlier OS are not immune.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;What I was looking at was a machine where someone attempted to “cure” a KMDF 1.5 installation issue this way [I was fortunate enough to have the entire setupapi.dev.log, so I could actually tell within a couple of hours when this was done].&amp;#160; On Windows Vista, no less- now doing that requires overriding system file protection, so it isn’t like we haven’t tried to save you from yourself.&amp;#160; This particular user was very lucky- no boot devices using the framework [and this is the first Vista machine where I’ve ever seen this].&lt;/p&gt;  &lt;p&gt;But once you’ve done this, you’ve given yourself one huge problem- none of the already installed drivers work, and no amount of reinstalling them is going to save you.&amp;#160; &lt;/p&gt;  &lt;p&gt;Why?&lt;/p&gt;  &lt;p&gt;Because our coinstallers won’t even attempt to update an OS where KMDF is a part of the OS unless they were released AFTER the OS was.&amp;#160; They don’t need to- it is already there, built-in.&lt;/p&gt;  &lt;p&gt;Nobody’s driver is going to work after those files are deleted, until an update is applied.&amp;#160; If your Vista machine has had the SP1 upgrade installed [and by now, the vast majority of them have], then it is using KMDF 1.7- if you delete our binaries then NOBODY can fix it for you, because that is the current released version [1.9 is still in Beta].&amp;#160; There is no driver on the market you can install that will fix this, because we haven’t given anyone a package that is capable of that.&lt;/p&gt;  &lt;p&gt;The only cure is to find the right binaries and put them back where they belong.&amp;#160; Then consider not taking advice from some internet blowhard [if you feel like considering me as one- hey, so be it- but I actually helped engineer the product, and that claim is verifiable- what’s your source’s claim of expertise based upon?].&lt;/p&gt;  &lt;p&gt;My apologies for the tone here, but I track access to this blog, and I know “deleting wdf01000.sys” is a search term that pops me up.&amp;#160; So maybe some advice here may save you a world of grief.&amp;#160; There are better ways to solve your problem, whatever it is- even the problems where this was actually suggested as a “working” solution at one time.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Now Playing: Bob Kjelgaard- “Let’s Escape” (not available anywhere)- just me and my acoustic with a song a couple of my college buddies wrote [and I renamed, revised, and arranged]…&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9404945" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category></item><item><title>Well, yes and no...</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2009/01/22/well-yes-and-no.aspx</link><pubDate>Fri, 23 Jan 2009 10:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9372304</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9372304.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9372304</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9372304</wfw:comment><description>&lt;P&gt;I got involved (probably quite foolishly) in &lt;A href="http://osronline.com/cf.cfm?PageURL=showThread.CFM?link=147413" target=_blank mce_href="http://osronline.com/cf.cfm?PageURL=showThread.CFM?link=147413"&gt;a discussion on the NTDEV mailing list&lt;/A&gt; that really wasn't much of my business yesterday, but I thought I'd expand a bit on my thoughts there, anyway.&lt;/P&gt;
&lt;P&gt;It probably sounds in one of my first posts there that I'm completely disagreeing with Peter Viscarola, although in fact, I don't.&amp;nbsp; I just think there's a lot more to the story than that- both the reasons why things are as they are, and the broad general effect it has.&lt;/P&gt;
&lt;H2&gt;The Purina Effect&lt;/H2&gt;
&lt;P&gt;I think I'll structure the rest as a Q &amp;amp; A with some imaginary and perhaps occasionally hostile interviewer- we'll see where that takes me.&amp;nbsp; Not that there's a need for this, but it's my blog, so I get to make these choices...&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;So why do so many people at Microsoft run the latest of everything?&lt;/LI&gt;&lt;/UL&gt;
&lt;OL&gt;
&lt;LI&gt;Because we hire a lot of technophiles- we are people who like new technology and believe innately in its transformative power.&amp;nbsp; We know such people do well in our environment, and make great contributions.&amp;nbsp; Its a good trait to have if you're seeking a job here.&amp;nbsp; You'll get picked on sometimes for using Office 2003 for the same reason some people will give you grief about out of date fashions, or a stodgy car, or...&amp;nbsp; So the desire for the latest and greatest is inbuilt.&lt;/LI&gt;
&lt;LI&gt;Because so many of us are involved in developing new products, we understand quickly the economics of their test, and that includes the idea that finding problems earlier is fixing them cheaper.&amp;nbsp; In part due to that first bullet, there's usually a ready pool of people available to help test your new product, and that's a good thing.&amp;nbsp; Most of the time, the problem is keeping them away from things before you're prepared for their input.&amp;nbsp; This is also good over the long run- we call it "&lt;EM&gt;&lt;STRONG&gt;dog food&lt;/STRONG&gt;&lt;/EM&gt;" [short for "eating the dog food"], and it is well-baked into the corporate culture.&amp;nbsp; It occurs on voluntary and ad-hoc bases and in planned deployments.&amp;nbsp; We always use things before you do.&amp;nbsp; We always will.&amp;nbsp; [And unfortunately we will still miss things- there is no perfect test process, at least, not that I know of].&amp;nbsp; I began running Windows 7 within weeks of the release of Windows Vista, and used it for most of my work (and most of my blog posts, except at times like this when I post from home).&amp;nbsp; Unlike most driver developers, I am used to an OS whose code changes each and every day, and exists in multiple forms at nearly the same time.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Just looking at the last couple of years, I've run beta or earlier versions of a couple of OS, Office, Windows Live, Halo 3, and Halo Wars.&amp;nbsp; I didn't have the big XBox Live update because I knew I wouldn't have time to work with it [but I know people who did].&amp;nbsp; I'm not particularly on the bleeding edge, usually, even with all that.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Why do things change and old ways no longer work?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Sometimes, it is much as Peter said [with my demurrals above flavoring it a bit]- a lot of focus on the new.&amp;nbsp; But many times these are done deliberately, and "cool" [in the sense of some form of hipness] may occasionally be a factor, but not one that gets much weight [sticking to the OS- different products, different markets, differenf factors].&lt;/P&gt;
&lt;P&gt;Most of the cases I can think of were the result of analysis of real data- watching and observing how things are really used.&amp;nbsp; Looking for the problem areas- trying to find ways to minimize the number of steps to accomplish the most important and the most common tasks.&amp;nbsp; Making things work better, and more easily.&amp;nbsp; I don't think that should be news- I expect several of the Windows team blogs say so directly or indirectly.&amp;nbsp; Now we think of that as "cool", but that's not the sense the word was being used in in that thread.&lt;/P&gt;
&lt;P&gt;But we don't always know the full impact of changes sometimes, and it never hurts to check things in the real world.&amp;nbsp; That's one reason we have beta tests.&amp;nbsp; The TARGETPATH issue is (in my opinion) something we will take as a lesson for the future, but I also think this is proof the beta test process works.&amp;nbsp; Would it have been better for it to be this way in the final version?&amp;nbsp; Was the entire beta so good that the only conclusion was that we would not change anything from the feedback resulting from the beta, making it some sort of trial balloon we'd pull back, buff up, and then reissue as the final thing?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Is your "love of the new" [I won't repeat calling it the Purina Effect, although perhaps they'd be happy I find the name mnemonic for pet food] the sole reason you miss down-level breaks?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;No, we also miss them, in my opinion, because: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;We develop blind spots in our test procedures and our thinking about how our products are used.&amp;nbsp; Most test scenarios have large variability and we have to narrow down the problem spaces to develop workable solutions.&amp;nbsp; Sometimes this process leaves holes.&amp;nbsp; More on that in a minute.&lt;/LI&gt;
&lt;LI&gt;Peculiar to this case is the mechanisms through which our build tools reach the WDK.&amp;nbsp; As I'm sure has been discussed on the Engineering Windows 7 blog, we put a lot of time and effort into improving our internal processes, and that definitely included how we build Windows.&amp;nbsp; The new mechanisms for binplace versus the old targetpath mechanisms has been a big win for us in terms of working with the source code.&amp;nbsp; But to minimize the impact to product teams, a lot of the initial legwork for it was done by the tool developers, and pushed out to us along with the tool changes.&amp;nbsp; I did some rework in our test code [things I privately had but weren't part of the main Windows source], so I was aware of some of this work, but I suspect that for most developers, this just happened [and that's good- it saves a lot of R&amp;amp;D money when things work that way].&amp;nbsp; This "magic elf" phenomenon may have helped develop something of a blind spot.&lt;/LI&gt;&lt;/OL&gt;
&lt;UL&gt;
&lt;LI&gt;Did you, personally, test the WDK at all?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Actually, yes [and it has its own test organization, as well].&amp;nbsp; I and other members of our test team have installed it, built samples, run them, read the documentation and the source code, used the tools, and filed bugs as a result of what we've found.&amp;nbsp; That's happened more than once.&amp;nbsp; Periodically we have held what we call "bug bashes" where everyone in the organization that includes our team goes to an out-of-office location, splits up into teams, and competes to see who can find the most bugs, or the most interesting bugs, and so on.&amp;nbsp; But no, we didn't take SP1 DDK code and run it against the latest WDK [and there are multiple reasons that wouldn't work for WDF, anyway].&amp;nbsp; But I wouldn't be surprised to hear someone's considering that after all of this.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Is it your fault this happened?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I certainly ask myself that- or at least, if I shouldn't have done more, or paid more attention, and if I had, maybe I could have realized TARGETPATH would be an issue and flagged it before it went out the door.&amp;nbsp; But probably not- it was one of those mostly deprecated things that stayed in the WDK long after its need in Windows proper had passed on.&amp;nbsp; I developed a blind spot.&lt;/P&gt;
&lt;P&gt;I bet I'm not the only SDET in Device Platform Technologies (which encompasses the WDK and WDF groups) who's doing that kind of thinking these days, although I certainly haven't conducted a survey on the subject.&amp;nbsp; I said above I'd get back to test holes, and this is a good place for it.&lt;/P&gt;
&lt;P&gt;They exist.&amp;nbsp; We prefer when they're complicated enough it makes some sense to have missed them, but we're human enough it doesn't always work that way.&amp;nbsp; In a way, it should be hard to get too big a sense of oneself as a computer programmer.&amp;nbsp; The blasted thing always does exactly what you tell it to do.&amp;nbsp; You often don't tell it the right thing, even when you're sure that you have.&amp;nbsp; But being human, we get that sense sometimes anyway.&amp;nbsp; Maybe I had more of it than I should have when I made my first post on that thread.&lt;/P&gt;
&lt;P&gt;Time will tell.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Layoffs?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Not funny.&amp;nbsp; I've been laid off twice in my career, both times as an SDE, and both times in a difficult economy, and this economy is worse than it was either of those times.&amp;nbsp; Nobody I know well is affected, but I am on some mailing lists where affected people made their brief farewells.&lt;/P&gt;
&lt;P&gt;I sympathize with their situation and hope for the best for them.&amp;nbsp; I'll add that as far as I'm concerned, whomever hires them gets a good deal, because I can't remember the last time I saw a Microsoft FTE I thought wasn't a good employment catch.&amp;nbsp; I'll also add that I have a lot of faith in the people who made those decisions- I've seen enough to believe it had to be done, and it wasn't done lightly.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;So why did you hint at unemployment?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Someone taking that thread and blowing it up into a news story about Microsoft not trusting its own products?&amp;nbsp;&amp;nbsp; Not that it would (or will- I can't predict the future on something like this) get me terminated, but I wouldn't blame anyone but myself if it did.&amp;nbsp; For that matter, I may have said more about internal affairs than I should have.&amp;nbsp; Business procedures (and that includes security procedures) are proprietary information and covered by employment agreements.&amp;nbsp; By not checking first, I may have doomed myself, and that's life [corporate at any size- the principles don't differ that much from place to place].&lt;/P&gt;
&lt;P&gt;I don't think I was discussing anything other than recommended best practices, though, so I'm not really as worried now as I was when I first thought about it.&lt;/P&gt;
&lt;P&gt;Next time I intend to discuss something [anything] else- that's a certainty.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9372304" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/test+development/default.aspx">test development</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item><item><title>A Suitable Day For Traveling</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/11/04/a-suitable-day-for-traveling.aspx</link><pubDate>Tue, 04 Nov 2008 19:03:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9040001</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9040001.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9040001</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9040001</wfw:comment><description>&lt;p&gt;I got up this morning about 3:30 AM, and finished a little bit of packing, then headed for work.&amp;#160; It was dark, chilly, and it was raining at a good pace- all of those typical of this time of year at that time of day, here in Redmond.&amp;#160; My office is sheltered by trees, so as I sit here [listening to the strains of the &lt;em&gt;Weather Report Suite&lt;/em&gt; from the Grateful Dead's &lt;em&gt;Wake of the Flood&lt;/em&gt; album- just transitioned to &amp;quot;&lt;em&gt;Let it Grow&lt;/em&gt;&amp;quot;] I can't tell if it's still raining, but at least it's gray instead of dark.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;What shall we say, shall we call it by a name?&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;As well to count the angels dancing on a pin.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Water bright as the sky from which it came-&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;And the nameless on the earth takes it in.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;We will not speak but stand inside the rain&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;And listen to the thunder shouting&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;quot;I am, I am, I am&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Oddly appropriate, for a rainy day, perhaps?&amp;#160; [For the record, that's John Barlow's words- hopefully he won't mind the quote- just happened they came up as I was typing this].&lt;/p&gt;  &lt;p&gt;At any rate, I leave shortly after noon, do all the last minute prep, catch a shuttle to the airport, and fly to Los Angeles for &lt;a href="http://www.microsoft.com/whdc/winhec/default.mspx" target="_blank"&gt;WinHEC&lt;/a&gt; today.&amp;#160; I'll be back late Friday.&amp;#160; I'll probably blog a bit more during this time, although I have some customer meetings lined up [folks with some installation issues], &lt;a href="http://www.microsoft.com/whdc/winhec/2008/sessions.aspx" target="_blank"&gt;a presentation to give&lt;/a&gt; [COR-T593], and a chalk talk [COR-C647 on the same page as the last link] to assist in.&amp;#160; No gaming [alas, I just barely started &lt;a href="http://fallout.bethsoft.com/eng/home/home.php" target="_blank"&gt;Fallout 3&lt;/a&gt; last night, and next week is of course &lt;a href="https://gearsofwar.xbox.com/default.htm" target="_blank"&gt;Gears of War 2&lt;/a&gt;], but I'm bringing along a copy of &lt;a href="http://en.wikipedia.org/wiki/Federalist_Papers" target="_blank"&gt;The Federalist&lt;/a&gt;- since today is also Election Day here in the US, I suppose there's something appropriate there.&lt;/p&gt;  &lt;p&gt;Perhaps I'll meet a few of my readers at WinHEC- for the rest of you, hope you have a fine week ahead of you [and perhaps nicer weather than I'm seeing, although rain is usually fine by me].&lt;/p&gt;  &lt;p&gt;[BTW, I did vote- mailed it in yesterday, with my usual &amp;quot;just in case&amp;quot; extra postage!]&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9040001" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item><item><title>They're here!</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/10/31/they-re-here.aspx</link><pubDate>Fri, 31 Oct 2008 20:24:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9026986</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9026986.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9026986</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9026986</wfw:comment><description>&lt;p&gt;For some of you, this may be old news, but it appears the 1.7 WDF coinstallers are finally back in the downloadable WDK (I just got my notification from Microsoft Connect much as others registered for the release program presumably did).&lt;/p&gt;  &lt;p&gt;&lt;a href="https://connect.microsoft.com/site/sitehome.aspx?SiteID=148" target="_blank"&gt;This would be the link to the download site [if you've signed up for Connect]&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Lifted directly from said notice:&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;&lt;font color="#000000"&gt;Here are few highlights in this release:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;   &lt;li style="margin: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;New Setup Environment&lt;/span&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li style="margin: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;Updates/fixes to Headers&lt;/span&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li style="margin: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;Added Bluetooth 2.1 headers and samples&lt;/span&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li style="margin: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;Added support for Server 2008 to DifX&lt;/span&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li style="margin: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;Updated WDF 1.7 co-installers&lt;/span&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li style="margin: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"&gt;&lt;font color="#000000"&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;Updated Device Simulation Framework (DSF)&lt;/span&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;    &lt;li style="margin: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list .5in" class="MsoNormal"&gt;&lt;span style="font-family: " verdana","sans-serif"; FONT-SIZE: 10pt"&gt;&lt;font color="#000000"&gt;Updated Debugger&lt;/font&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9026986" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/UMDF/default.aspx">UMDF</category></item><item><title>Now if it could just translate my prose into good English...</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/10/15/now-if-it-could-just-translate-my-prose-into-good-english.aspx</link><pubDate>Wed, 15 Oct 2008 22:35:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9000925</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/9000925.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=9000925</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=9000925</wfw:comment><description>&lt;p&gt;I should mention the little widget I added during DDC to the &amp;quot;News&amp;quot; section of this blog.&amp;#160; For some additional information &lt;a target="_blank" href="http://blogs.technet.com/johmar/archive/2008/08/01/try-the-new-windows-live-translator-widget.aspx"&gt;look here&lt;/a&gt;, but basically, you can view any post or page of mine with an on-the fly side-by-side translation into any of 15 or so different languages (English is one of them, but not everyone agrees that is the language I post in).&lt;/p&gt;  &lt;p&gt;Let's face it- I can see the map at the top, too, and I track usage enough to know some people try to read me in other languages.&amp;#160; So perhaps this will make the job a bit easier for them.&amp;#160; You can provide feedback to me or you can review the article I linked to above for other ways to feed back.&lt;/p&gt;  &lt;p&gt;I'm working on some (what is to me, anyway) cool stuff at the moment- when I meet my deadline, I'll try to write something up about it.&amp;#160; Also, once WinHEC happens, I can talk a bit more openly about some of what I've been doing with relation to WDF 1.9...&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9000925" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category></item><item><title>DDC- the aftermath</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/10/05/ddc-the-aftermath.aspx</link><pubDate>Sun, 05 Oct 2008 23:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8977254</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/8977254.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=8977254</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=8977254</wfw:comment><description>&lt;P&gt;Now that I've had some rest (overdid the long days during the conference, and it was pretty obvious I had by the time Wednesday rolled around), I'll round out my posts about the conference.&lt;/P&gt;
&lt;H2&gt;Clear Proofs of My Lack of Divinity&lt;/H2&gt;
&lt;P&gt;I suppose &lt;A target=_blank href="http://blogs.msdn.com/bobkjelgaard/archive/2008/09/29/ddc-starts-in-less-than-an-hour.aspx" mce_href="http://blogs.msdn.com/bobkjelgaard/archive/2008/09/29/ddc-starts-in-less-than-an-hour.aspx"&gt;I started in bad form&lt;/A&gt; on my initial blog with the crack about "junior staff".&amp;nbsp; &lt;A target=_blank href="http://blogs.msdn.com/888_umdf_4_you/archive/2008/09/29/8969553.aspx" mce_href="http://blogs.msdn.com/888_umdf_4_you/archive/2008/09/29/8969553.aspx"&gt;Sorry, Patrick&lt;/A&gt;- while it is arguably technically true, I don't really think of it that way.&amp;nbsp; After many weeks of not getting any of my work done because of all the mini-tasks that kept coming my way [I've been filling in for our lead as she is on vacation], I thought it might be fun if they flowed down to those left behind [although it looks like that didn't happen- such is life].&lt;/P&gt;
&lt;P&gt;On day 2, I gave &lt;A target=_blank href="http://msmvps.com/blogs/WinDrvr/" mce_href="http://msmvps.com/blogs/WinDrvr/"&gt;Don Burn&lt;/A&gt;'s name as "Don Burns"- hard for me to catch the difference since one of my childhood pals happened to have the Burns surname- it just comes naturally to me [I've now corrected that typo].&lt;/P&gt;
&lt;P&gt;On day 3, as intimated, my lack of sleep and other health problems made for a tough time- in 1996, I ruptured a disk in my neck, and spent many months with numbness, pain and other side effects of pinched nerves as a result.&amp;nbsp; Something I did over my recent vacation has resurrected some of that for me.&amp;nbsp; I've several times had to leave a meeting because the pain reached points where I couldn't sit still.&amp;nbsp; I suspect bowling Monday night didn't help, either [but I can't spend all my life doing nothing, and it was my choice, after all].&amp;nbsp; At any rate, mostly that's something for me and the physician to take care of- but it nagged me all day, and that and poor physical condition really dragged at me all day.&amp;nbsp; It takes you from tired to even more tired, for one thing...&lt;/P&gt;
&lt;H2&gt;My highlights&lt;/H2&gt;
&lt;P&gt;People treated me really well- I got a lot of positive feedback about the blogging and my NTDEV involvement.&amp;nbsp; I've turned back on the email nozzles from the OSR lists, as a result.&amp;nbsp; I'll try to manage that as a part of my normal workload and see if I can't achieve a better balance of community involvement and my other workload.&amp;nbsp; It meant a lot to me to get that kind of feedback, especially from the MVPs, the OSR folks, and some of the non-MVPs who are still frequent contributors to the OSR lists.&lt;/P&gt;
&lt;P&gt;WDF in general got good marks for community involvement [not that we were perfect, just that we were doing better than most].&amp;nbsp; The technical sessions I presented at seemed to have received fairly good marks [although those are preliminary results]&lt;/P&gt;
&lt;P&gt;While much of the other feedback we received was not terribly positive [and in some cases that could be taken as an understatement], it was frank, and generally thoughtful.&amp;nbsp; I'll get back to that in a bit.&lt;/P&gt;
&lt;P&gt;Also especially gratifying was my co-presenter's individual performances.&amp;nbsp; Wei and &lt;A target=_blank href="http://blogs.msdn.com/iliast" mce_href="http://blogs.msdn.com/iliast"&gt;Ilias&lt;/A&gt; in particular improved markedly from their initial attempts at our presentations [Shyamal was pretty much on target from the beginning].&amp;nbsp; I also think Neslihan [while not a co-presenter, she is a part of our immediate team] did quite well for her first time out.&amp;nbsp; Moving outside our team, I caught most of Tanya Radeva's presentation [had to leave early because of my neck problem alluded to earlier].&amp;nbsp; It brought things that I "knew" but hadn't fully linked together into a coherent whole, which I thought was a good thing.&amp;nbsp; Good technical depth.&lt;/P&gt;
&lt;H2&gt;Lowlights&lt;/H2&gt;
&lt;P&gt;My primary disappointment was attendance at our coinstaller presentations- it was very low both times.&amp;nbsp; I'm thinking that perhaps the issues are now well enough understood that nobody felt there was a need to dig into the issue further.&lt;/P&gt;
&lt;P&gt;Attendance at the Ask The Experts session was also a surprise- the ratio of Microsoft people to customer people was way off.&amp;nbsp; There were some good issues surfaced, apparently- but I might have done better myself if I had got some rest, instead [hindsight].&lt;/P&gt;
&lt;P&gt;In hindsight, I think the test talk [the one myself, Shyamal and Wei presented] probably went for too much breadth and the depth suffered as a result [but time limits are time limits].&lt;/P&gt;
&lt;P&gt;There was some disappointing and disconcerting feedback, of course- it's hard to hear that some of the same old issues are still there to be seen- I allude some of that to the difficulty of cultural change.&amp;nbsp; We shall see.&lt;/P&gt;
&lt;P&gt;Plus the physical problems I noted weren't fun, but life can be like that- so that one doesn't count- the food was pretty good, and free- so that makes up for it!&lt;/P&gt;
&lt;H2&gt;Following up&lt;/H2&gt;
&lt;P&gt;The feedback presented is being followed up on.&amp;nbsp; I know it's being aggregated, analyzed, and suggestions for improvement are being made based upon it.&amp;nbsp; I fully expect feedback to the feedback will be given [but that will come above my pay grade, so don't take this as a commitment, just my own expectation or assumption].&amp;nbsp; Under the circumstances, I of course have no idea what form that may take, either.&amp;nbsp; But I will note one WDF-related topic was suggested as being blog-worthy, where I had previously been directed specifically not to discuss the subject.&amp;nbsp; So once again, that feedback does matter.&amp;nbsp; How much each will have to judge for him or her self.&lt;/P&gt;
&lt;P&gt;I intend to cover some of that missing depth I alluded to previously in future posts, and can also cover other technical issues once the proper public announcements are made.&amp;nbsp; Because my "Life at Microsoft" tag isn't something I really want to have to place on every single post I make...&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Now listening to "Ship Of Fools"- Grateful Dead from the "Steal Your Face" album&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8977254" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item><item><title>DDC Day 3 (and final) soon to come</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/10/01/ddc-day-3-and-final-soon-to-come.aspx</link><pubDate>Wed, 01 Oct 2008 16:32:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8971574</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/8971574.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=8971574</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=8971574</wfw:comment><description>&lt;p&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bobkjelgaard/archive/2008/09/30/ddc-day-2-is-on-its-way.aspx"&gt;In my post about yesterday&lt;/a&gt;, I left out an observation I feel the need to make.&amp;#160; My intent for listing the folks I met in the morning wasn't so much to drop names as to observe that (a) they were appreciative of what I have done in terms of blogging an newsgroup assistance (which is always easy feedback to accept, particularly from a stalwart group such as that) and (b) it's still something of a kick for me to be able to talk to them, and get some of the conversation you just can't carry out via email.&amp;#160; As a developer, it's good to see what experts do, and as a provider of developer tools, its good to get the chance to collect all the unvarnished feedback you can about the utility of what you are providing.&lt;/p&gt;  &lt;p&gt;I missed a lot of sessions yesterday I would have liked (such as Daniel Mihai's presentations on Driver Verifier).&amp;#160; But I did catch Neslihan's presentation on WDF logo requirements [and I need to remember a couple of things we might want to add to that occurred to me overnight], and then &lt;a target="_blank" href="http://blogs.msdn.com/iliast"&gt;Ilias&lt;/a&gt; and I did our first pass at the coinstaller presentation.&amp;#160; Numbers were a bit light- maybe 2 dozen people was all, but I think we did fairly well overall in terms of just presenting our material, at least.&lt;/p&gt;  &lt;p&gt;The Ask The Experts session was a bit lopsided- lots of experts, and something of a paucity of people wanting to ask.&amp;#160; We did get a few questions (unfortunately both &lt;a target="_blank" href="http://blogs.msdn.com/doronh"&gt;Doron&lt;/a&gt; and Eliyas were unavailable, and the rest of us still have some gaps- at least &lt;a target="_blank" href="http://blogs.msdn.com/peterwie"&gt;Peter&lt;/a&gt; was there for some of the tougher technical questions- some of the questions we didn't know sure answers to weren't actually all that technical- more along the lines of adoption numbers, which I sort of pay attention to, but only in the fuzzy, order of magnitude sense).&lt;/p&gt;  &lt;p&gt;Got a couple more good test-related questions in hallway conversations, and finally met Penny Orwick, whom we all owe a debt to for her work on the WDF book, and to whom we owed a further debt as presenters because she edited our slides.&lt;/p&gt;  &lt;h2&gt;And now for something of greater utility...&lt;/h2&gt;  &lt;p&gt;As part of my preparation for the coinstaller debugging presentations at DDC and WinHec, I have put together &lt;a href="http://blogs.msdn.com/bobkjelgaard/pages/Resources-For-Installation-Problems.aspx"&gt;this collection of information&lt;/a&gt; about WDF components for all shipped versions, along with related information, so there's a single place usable for triaging those occasional installation issues.&amp;#160; Parts of it are still under construction (and some things I want to include require me to link to some files I host elsewhere), but I'm open to comments and suggestions, as always.&lt;/p&gt;  &lt;p&gt;Finally, a warning about the shipping versions of WdfVerifier:&amp;#160; I messed up the registry keyword for handle tracking in KMDF, so the tool won't actually manage that setting for you.&amp;#160; If we provide a WDK with the &amp;quot;pre-beta&amp;quot; release of Windows 7 about to hit the streets [at WinHec and PDC], it won't have this fixed- but it will be there in the WDK tied to the Win7 Beta.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8971574" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/UMDF/default.aspx">UMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/WdfVerifier/default.aspx">WdfVerifier</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item><item><title>DDC Day 2 is on its way</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/09/30/ddc-day-2-is-on-its-way.aspx</link><pubDate>Tue, 30 Sep 2008 16:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8970292</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/8970292.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=8970292</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=8970292</wfw:comment><description>&lt;P&gt;Yesterday was a long day for me.&amp;nbsp; After &lt;A target=_blank href="http://blogs.msdn.com/bobkjelgaard/archive/2008/09/29/ddc-starts-in-less-than-an-hour.aspx" mce_href="http://blogs.msdn.com/bobkjelgaard/archive/2008/09/29/ddc-starts-in-less-than-an-hour.aspx"&gt;my previous post&lt;/A&gt;, I headed over, registered, and got my speakers badge.&amp;nbsp; As I sat getting my free breakfast [free food usually works out well for me], I was joined by a crew of community heavyweights, many of whom I met for the first time in person- in roughly chronological order, Phil Hindman, Don Burn, Mark Roddy, David Cattley, Thomas Divine, Tim Roberts, and Max Shatskih [might have been one more, but my brain's ability to hold stuff hath its limits].&amp;nbsp; I ran into a number of other familiar names during the day- Martin O Brien, Jan Bottorf [might have misspelled that], David Craig [apparently also a long time fan of Japanese musicians, which made for an interesting off-topic discussion], Gianlucca Varenni, and [finally!] Peter Viscarola and Scott Noone of OSR [who host the NTDEV list, and provide the godsend FX2 USB learning device, among much else].&amp;nbsp; I met a few others, but again, I want to post this and get something to eat, so I'm not going to rack my brain further.&amp;nbsp; Plenty of name-dropping for one paragraph, anyway.&lt;/P&gt;
&lt;P&gt;The talks went fairly well, and I learned of some new difficulties people are having- with text mode setup and our latest coinstallers.&amp;nbsp; That was reported from several places, so I spent part of the day trying to follow up with various people about it.&amp;nbsp; Trying to get a good test plan in place to cover it is challenging, but it might make for a good exercise, and it is a critical scenario for some of the places we want to deploy the framework.&lt;/P&gt;
&lt;P&gt;Well, as I said, talks went OK- we got through our talk on how we test WDF without major mishap [although I forgot one of my key talking points early on and had to bring it up in my summary instead], and apparently so did the rest of our crew.&amp;nbsp; We had a few dozen dozen attendees at our talk, which was good considering there were three other WDF-related presentations going at the same time as ours.&lt;/P&gt;
&lt;P&gt;Ended the day at a community feedback session- these are challenging at times, but essential.&amp;nbsp; We can't get it right if we don't understand what it is they need and what it is we are doing well, not so well, and dismally.&amp;nbsp; If I get a chance, I need to talk to Don [or perhaps post an article] about MmGetSystemRoutineAddress- there seems to be some misconception even now about what the nature and severity of the problem is.&amp;nbsp; There are SAFE workarounds [just specific usages you must avoid], and I think that message got lost in all the hubbub.&lt;/P&gt;
&lt;P&gt;I misspoke yesterday about Neslihan's presentation.&amp;nbsp; Hers was one of those given yesterday at the same time as ours- but today's retelling is the one I'll be getting to.&lt;/P&gt;
&lt;P&gt;Today Ilias and I discuss the WDF coinstallers, and tomorrow I get to repeat both of our talks back-to-back [coinstallers at 8:30, WDF testing at 9:45).&lt;/P&gt;
&lt;P&gt;I even attended the attendee party- bowling and billiards at Lucky Strike in Bellevue.&amp;nbsp; It was lively and fun [and not at all quiet].&amp;nbsp; I tried Red Hook [don't know the exact variety] for the first time.&amp;nbsp; Rather liked it, over the course of the evening, I polished off three of them- a darker beer, a bit bitter, but not as strong a flavor as a stout.&amp;nbsp; I got in one game at bowling [the lanes were in constant use]- ended up with a 95, even though I started with one pin for the first two frames.&amp;nbsp; Left at about 5:30 AM, got home at 10:30 PM- long day, but a good one...&lt;/P&gt;
&lt;P&gt;Time to head off to the conference center and begin today's journey.&amp;nbsp; Yesterday's Q &amp;amp; A with Mark Russinovich was rather interesting, and today's (with Stephen Sinofsky), ought to be, as well.&lt;/P&gt;
&lt;P&gt;[Corrected 10/5- name typo]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8970292" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item><item><title>DDC starts in less than an hour</title><link>http://blogs.msdn.com/bobkjelgaard/archive/2008/09/29/ddc-starts-in-less-than-an-hour.aspx</link><pubDate>Mon, 29 Sep 2008 16:21:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8968867</guid><dc:creator>BobKjelgaard</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobkjelgaard/comments/8968867.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobkjelgaard/commentrss.aspx?PostID=8968867</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bobkjelgaard/rsscomments.aspx?PostID=8968867</wfw:comment><description>&lt;p&gt;Plenty of good stuff for today- begin with Eliyas and Peter going over what's new in WDF for Windows 7 (or as we prefer to think of it WDF 1.9, since much of it also works all the back to Windows 2000 [KMDF] or Windows XP [UMDF]).&amp;#160; It continues later with our first presentation of talks on the &amp;quot;shared secrets&amp;quot; of the Windows Driver Frameworks.&amp;#160; The first talk discusses the implementation of the frameworks themselves, while the second presentation (my first of this conference, and my first in about 16 years) discusses how the frameworks are tested.&amp;#160; The latter talk will also be one of the final talks of the day.&lt;/p&gt;  &lt;p&gt;Tomorrow will include &lt;a target="_blank" href="http://blogs.msdn.com/bobkjelgaard/archive/2008/09/11/potpourri.aspx"&gt;Neslihan's talk about getting a logo for your WDF driver&lt;/a&gt; (yes we are adding logo requirements specifically for WDF drivers- primarily for KMDF at the moment).&amp;#160; It will include some excellent talks by Praveen Rao about work we have done on WDF drivers in the storage space, and again the final talk (at least in that room) is &lt;a target="_blank" href="http://blogs.msdn.com/iliast"&gt;Ilias&lt;/a&gt; and I discussing the WDF coinstallers.&lt;/p&gt;  &lt;p&gt;Wednesday we'll repeat all the talks I am in- the shared secrets talks will be back to back in the morning, but I won't catch part 1 that day because I'll be in another room with &lt;a target="_blank" href="http://blogs.msdn.com/iliast"&gt;Ilias&lt;/a&gt; repeating the presentation on the coinstallers.&lt;/p&gt;  &lt;p&gt;There's so much more, too- SDV, DSF, the innards of driver verifier, annotations for PFD and SDV, new test techniques from my colleagues James Moe and Dieter Achstettler, excellent talks on device installation, many driver technologies (several on printing, I can't help but notice).&amp;#160; I could go on and on, except I've got some work to get to this morning [and I'll be leaving soon so I can register and begin my bit of supporting the conference].&lt;/p&gt;  &lt;p&gt;Ask the experts session tomorrow night, bowling tonight, space set aside for us to talk with developers before and after talks, labs, panel discussions, Q &amp;amp; A with our most senior engineering staff, and a few surprises I'm not at liberty to mention even now.&lt;/p&gt;  &lt;p&gt;My plan for now is to try to attend the whole thing- how well that works depends upon how things go in the lab [we've got some critical work going on, but let's see how the junior staff handles things for a bit], and whether I'm providing any benefit by being there [if I can be more effective working on test tasks in my office, I'll return to it].&amp;#160; Of course, assuming my laptop works there, I may just blog a bit more than usual.&amp;#160; Not having a cell phone, it might be a bit hard for people to contact me if they need me back at the office [although they will know where I am, anyway].&lt;/p&gt;  &lt;p&gt;So, I hope to see a few of my readers there (both those within Microsoft, and especially those from the outside).&amp;#160; Hope all enjoy there time.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Now playing:&amp;#160; The acid rock classic jam &amp;quot;Dark Star&amp;quot; from Live / Dead (of course by the Grateful Dead)&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8968867" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/KMDF/default.aspx">KMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/customer+service/default.aspx">customer service</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/debugging/default.aspx">debugging</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/UMDF/default.aspx">UMDF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/WdfVerifier/default.aspx">WdfVerifier</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/test+development/default.aspx">test development</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/PFD/default.aspx">PFD</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/DSF/default.aspx">DSF</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Driver+Verifier/default.aspx">Driver Verifier</category><category domain="http://blogs.msdn.com/bobkjelgaard/archive/tags/Life+at+Microsoft/default.aspx">Life at Microsoft</category></item></channel></rss>