<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Kenny Kerr</title><link>http://weblogs.asp.net/kennykerr/default.aspx</link><description>&lt;span style="color:#4a67b1"&gt;&lt;strong&gt;&lt;em&gt;Produce the highest quality screenshots with the least amount of effort! Use &lt;a href="http://www.windowclippings.com/"&gt;&lt;span style="color:#4a67b1"&gt;Window Clippings&lt;/span&gt;&lt;/a&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/KennyKerr" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Travel</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/K1YRqLEeUvg/travel.aspx</link><pubDate>Fri, 13 Nov 2009 09:38:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7253284</guid><dc:creator>KennyKerr</dc:creator><slash:comments>1</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/11/13/travel.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Today I’m leaving for South Africa where I’ll spend 2.5 months with my family. If you have any questions about &lt;A href="http://www.windowclippings.com/" mce_href="http://www.windowclippings.com/"&gt;Window Clippings&lt;/A&gt; or &lt;A href="http://weblogs.asp.net/kennykerr/pages/My-Articles.aspx" mce_href="http://weblogs.asp.net/kennykerr/pages/My-Articles.aspx"&gt;my articles&lt;/A&gt; please be patient as I may not be able to get online to check my email as regularly.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Any suggestions for affordable mobile broadband in South Africa would be welcome!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7253284" width="1" height="1"&gt;</description><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/11/13/travel.aspx</feedburner:origLink></item><item><title>Windows Web Services versus ATL SOAP</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/SApt_4vaGEQ/windows-web-services-versus-atl-soap.aspx</link><pubDate>Thu, 05 Nov 2009 21:13:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7248012</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/11/05/windows-web-services-versus-atl-soap.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;After publishing the &lt;A href="http://msdn.microsoft.com/magazine/ee335693.aspx" mce_href="http://msdn.microsoft.com/magazine/ee335693.aspx"&gt;WWS article&lt;/A&gt; I received some questions about how this compares to ATL’s SOAP stack. I’m certainly not trying to convince anyone to switch over to WWS but it has some benefits that may be useful in some scenarios. I also haven’t used the ATL/ServerXMLHTTP stack much so I’m probably not the best person to do a comparison. From what I can tell however it uses either WinHTTP or WinInet and MSXML. Given that there are some things I can point out&lt;/P&gt;
&lt;P mce_keep="true"&gt;1. WWS is not limited to SOAP over HTTP and provides first-class support for TCP and UDP bindings. It’s also not limited to text encoding and can provide a considerable performance boost with binary encoding when applicable. It is possible for developers to modify the ATL source code to use a different transport and encoding as several teams at Microsoft have done in the past but you are on your own when doing this whereas WWS can handle this for you.&lt;/P&gt;
&lt;P mce_keep="true"&gt;2. The XML layer in WWS, which includes serialization for C data types and structures, is much faster than XmlLite which in turn is much faster than MSXML. In some scenarios that can make a big difference. Control over memory management and reduced working set is also critical for many customers (many of whom live within Windows core). This also has a big impact on throughput which is critical in scenarios like financial services.&lt;/P&gt;
&lt;P mce_keep="true"&gt;3. I didn’t touch on this in the article but there’s a very nice (and efficient) asynchronous programming and cancellation model that works with completion ports making it really scalable.&lt;/P&gt;
&lt;P mce_keep="true"&gt;4. ATL SOAP is no longer in active development and Microsoft only supports the version of ATL SOAP that shipped with Visual Studio 2005. Of course if this works for you that’s great.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The list can go on.&amp;nbsp; One of the biggest reasons for using WWS that I’ve heard from Microsoft and others is the interoperability with modern SOAP stacks like WCF, WebSphere, Weblogic, and others. With ATL SOAP it is only possible to build clients for services that use the basic SOAP services specs that fall under the Basic Profile 1.0. If a service uses any of the WS-* standards released past 2002, ATL SOAP just doesn’t support it out of the box.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Concerns over platform support are warranted although a &lt;A href="http://blogs.msdn.com/wndp/archive/2009/10/09/final-version-of-windows-web-services-api-for-windows-xp-vista-server-2003-and-server-2008-is-now-available.aspx" mce_href="http://blogs.msdn.com/wndp/archive/2009/10/09/final-version-of-windows-web-services-api-for-windows-xp-vista-server-2003-and-server-2008-is-now-available.aspx"&gt;lightweight redistributable for WWS is available&lt;/A&gt; going back to Windows XP. &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7248012" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Technology/default.aspx">Technology</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/WWS/default.aspx">WWS</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Native/default.aspx">Native</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/11/05/windows-web-services-versus-atl-soap.aspx</feedburner:origLink></item><item><title>Windows with C++: Windows Web Services</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/ytzxatAPHcE/windows-with-c-windows-web-services.aspx</link><pubDate>Wed, 04 Nov 2009 08:35:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7246640</guid><dc:creator>KennyKerr</dc:creator><slash:comments>3</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/11/04/windows-with-c-windows-web-services.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;IMG border=0 align=right src="http://weblogs.asp.net/blogs/kennykerr/wws_article.png"&gt;My latest &lt;STRONG&gt;Windows with C++&lt;/STRONG&gt; column, &lt;A href="http://msdn.microsoft.com/magazine/ee335693.aspx" mce_href="http://msdn.microsoft.com/magazine/ee335693.aspx"&gt;Windows Web Services&lt;/A&gt;, just went live on the MSDN Magazine website. Here I’m taking a break from Direct2D to highlight the new SOAP stack introduced with Windows 7 for building both clients and servers. It’s completely native, has minimal overhead, and is incredibly fast. From the article:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;One of the main reasons many developers flocked to the Microsoft .NET Framework, and Java to a lesser degree, was the fact that it made it much easier to write software for the Internet. Whether you were writing an HTTP client or server application, the .NET Framework had you covered with classes for making HTTP requests and processing XML easily. You could even generate SOAP clients from WSDL documents and implement SOAP servers with ASP.NET. As the standards around Web services matured, Microsoft developed the Windows Communications Foundation (WCF), also built on the .NET Framework, to make it easier to use the increasingly complex Web standards for handling different transports, such as TCP and UDP, and provide more versatile security options.&lt;/P&gt;
&lt;P mce_keep="true"&gt;C++ developers, however, were left wondering whether it was even practical to use C++ to write Web applications. Microsoft had provided a couple of temporary solutions in the form of ATL classes and a COM-based toolkit, but in the end these couldn’t keep up with the progress that the managed SOAP stacks had made and thus were largely abandoned.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;I hope you enjoy it. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Here are links to some of the most recent Windows with C++ columns:&lt;/P&gt;
&lt;P mce_keep="true"&gt;September 2009 –&amp;nbsp;&amp;nbsp;&lt;A href="http://msdn.microsoft.com/magazine/ee413543.aspx" mce_href="http://msdn.microsoft.com/magazine/ee413543.aspx"&gt;&lt;FONT color=#006666&gt;Drawing with Direct2D&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;June 2009 – &lt;A href="http://msdn.microsoft.com/magazine/dd861344.aspx" mce_href="http://msdn.microsoft.com/magazine/dd861344.aspx"&gt;&lt;FONT color=#006666&gt;Introducing Direct2D&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;April 2009 – &lt;A href="http://msdn.microsoft.com/magazine/dd569754.aspx" mce_href="http://msdn.microsoft.com/magazine/dd569754.aspx"&gt;&lt;FONT color=#006666&gt;The Virtual Disk API in Windows 7&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;February 2009 – &lt;A href="http://msdn.microsoft.com/magazine/dd434652.aspx" mce_href="http://msdn.microsoft.com/magazine/dd434652.aspx"&gt;&lt;FONT color=#006666&gt;Visual C++ 2010 and the Parallel Patterns Library&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;December 2008 – &lt;A href="http://msdn.microsoft.com/magazine/dd252945.aspx" mce_href="http://msdn.microsoft.com/magazine/dd252945.aspx"&gt;&lt;FONT color=#006666&gt;x64 Debugging With Pseudo Variables and Format Specifiers&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;October 2008 – &lt;A href="http://msdn.microsoft.com/en-us/magazine/cc850829.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc850829.aspx"&gt;&lt;FONT color=#006666&gt;Exploring High-Performance Algorithms&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;August 2008 – &lt;A href="http://msdn.microsoft.com/en-us/magazine/cc716528.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc716528.aspx"&gt;&lt;FONT color=#006666&gt;Asynchronous WinHTTP&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;And &lt;A href="http://weblogs.asp.net/kennykerr/pages/My-Articles.aspx" mce_href="http://weblogs.asp.net/kennykerr/pages/My-Articles.aspx"&gt;&lt;FONT color=#006666&gt;here is a complete list&lt;/FONT&gt;&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7246640" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Technology/default.aspx">Technology</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/WWS/default.aspx">WWS</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Native/default.aspx">Native</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/11/04/windows-with-c-windows-web-services.aspx</feedburner:origLink></item><item><title>October 2009 issue of MSDN Magazine</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/kvYlINlfgKc/october-2009-issue-of-msdn-magazine.aspx</link><pubDate>Fri, 02 Oct 2009 09:49:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7221545</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/10/02/october-2009-issue-of-msdn-magazine.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Those of you expecting my Windows with C++ column about Windows Web Services to appear in the October issue will have to wait another month as the article was bumped due to space constraints. I just found out yesterday myself. In the mean time you should read Rick Molloy’s latest article on the &lt;A href="http://msdn.microsoft.com/magazine/ee309514.aspx" mce_href="http://msdn.microsoft.com/magazine/ee309514.aspx"&gt;Concurrency Runtime&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7221545" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Native/default.aspx">Native</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/10/02/october-2009-issue-of-msdn-magazine.aspx</feedburner:origLink></item><item><title>Zune Fail</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/aSj5U-xtz44/zune-fail.aspx</link><pubDate>Wed, 16 Sep 2009 10:20:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7207867</guid><dc:creator>KennyKerr</dc:creator><slash:comments>3</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/09/16/zune-fail.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;IMG border=0 align=right src="http://weblogs.asp.net/blogs/kennykerr/ZunHD.png" mce_src="http://weblogs.asp.net/blogs/kennykerr/ZunHD.png"&gt;The &lt;A href="http://zune.net/" mce_href="http://zune.net/"&gt;Zune&lt;/A&gt; hardware products are fantastic. The new Zune HD is particularly impressive. The Zune software is a joy to use when compared to that other product that controls 99% of the market. But until Microsoft figures out how to make the Zune Marketplace and the Zune Pass subscription service available in the rest of the world (outside of the USA) this isn’t going to go anywhere. &lt;/P&gt;
&lt;P mce_keep="true"&gt;With the Zune 3.0 I could at least browse the marketplace even if I couldn’t purchase anything. I could for example use it to search for podcasts. That doesn’t even seem to work anymore with Zune 4.0.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Make it happen. Pretty please.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG border=0 src="http://weblogs.asp.net/blogs/kennykerr/ZuneFail2.png" mce_src="http://weblogs.asp.net/blogs/kennykerr/ZuneFail2.png"&gt;&lt;A href="http://weblogs.asp.net/blogs/kennykerr/ZuneFail.png" mce_href="http://weblogs.asp.net/blogs/kennykerr/ZuneFail.png"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7207867" width="1" height="1"&gt;</description><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/09/16/zune-fail.aspx</feedburner:origLink></item><item><title>Direct2D and the Desktop Window Manager</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/l9oIe4pRmgw/direct2d-and-the-desktop-window-manager.aspx</link><pubDate>Tue, 15 Sep 2009 13:22:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7206571</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/09/15/direct2d-and-the-desktop-window-manager.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;IMG border=0 align=right src="http://weblogs.asp.net/blogs/kennykerr/Direct2D_DWM.png"&gt;Many moons ago, when Windows Vista was still in beta, I wrote an article showing readers &lt;A href="http://weblogs.asp.net/kennykerr/archive/2006/08/10/Windows-Vista-for-Developers-_1320_-Part-3-_1320_-The-Desktop-Window-Manager.aspx" mce_href="http://weblogs.asp.net/kennykerr/archive/2006/08/10/Windows-Vista-for-Developers-_1320_-Part-3-_1320_-The-Desktop-Window-Manager.aspx"&gt;how to program with the Desktop Window Manager (DWM)&lt;/A&gt;. I also followed up with another article showing readers &lt;A href="http://weblogs.asp.net/kennykerr/archive/2007/01/23/controls-and-the-desktop-window-manager.aspx" mce_href="http://weblogs.asp.net/kennykerr/archive/2007/01/23/controls-and-the-desktop-window-manager.aspx"&gt;how to display controls on glass&lt;/A&gt;. Both articles focused on User32/GDI which at the time was still the way to go for native application developers. &lt;/P&gt;
&lt;P mce_keep="true"&gt;With the introduction of Windows 7 comes a brand new graphics platform for the application developer and that of course is Direct2D. So far MSDN Magazine has published two introductory articles I wrote about Direct2D. If you haven’t already done so please read &lt;A href="http://msdn.microsoft.com/magazine/dd861344.aspx" mce_href="http://msdn.microsoft.com/magazine/dd861344.aspx"&gt;Introducing Direct2D&lt;/A&gt; and &lt;A href="http://msdn.microsoft.com/magazine/ee413543.aspx" mce_href="http://msdn.microsoft.com/magazine/ee413543.aspx"&gt;Drawing with Direct2D&lt;/A&gt;. I’ll wait.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The upcoming December issue of the magazine will feature the next installment which covers some more advanced topics related to interoperability, but for now I thought I’d update the DWM saga for Direct2D as it’s just so simple. Whereas GDI barely tolerated the DWM, Direct2D just loves it. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Let’s say you just want to render the entire client and non-client area as a seamless sheet of glass and then use Direct2D to draw on top. Start by instructing the DWM to extend the frame into the client area as follows:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;MARGINS margins = { -1 };&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;Verify(DwmExtendFrameIntoClientArea(windowHandle,&lt;BR&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;margins));&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now all you need to do is instruct Direct2D to use the same pixel format used when alpha blending with GDI, namely pre-multiplied BGRA:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;const D2D1_PIXEL_FORMAT format =&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM,&lt;BR&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D2D1_ALPHA_MODE_PREMULTIPLIED);&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The format is used when initializing the render target properties:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;const D2D1_RENDER_TARGET_PROPERTIES targetProperties = &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_DEFAULT,&lt;BR&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;&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;&amp;nbsp;&amp;nbsp; format);&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The render target properties are then provided to the Direct2D factory object to create the render target as usual:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;Verify(m_d2dFactory-&amp;gt;CreateHwndRenderTarget(targetProperties,&lt;BR&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;&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;&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; windowProperties,&lt;BR&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;&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;&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;amp;m_target));&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;And that’s all there is to it. You can now render portions of your window with glass simply by using a brush or bitmap’s alpha channel. You might for example clear the render target before drawing as follows:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;m_target-&amp;gt;Clear(D2D1::ColorF(0.0f, 0.0f, 0.0f, 0.0f));&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Hope that helps.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7206571" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Technology/default.aspx">Technology</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Direct2D/default.aspx">Direct2D</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Native/default.aspx">Native</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/09/15/direct2d-and-the-desktop-window-manager.aspx</feedburner:origLink></item><item><title>WinUnit is Now on CodePlex</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/0n0AOUTiJcE/winunit-is-now-on-codeplex.aspx</link><pubDate>Fri, 11 Sep 2009 07:49:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7200461</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/09/11/winunit-is-now-on-codeplex.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I’m totally hooked on WinUnit. As someone who writes a lot of native code it’s just absolutely essential. Up until now the only place to get it was via the download for the &lt;A href="http://msdn.microsoft.com/en-us/magazine/cc136757.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc136757.aspx"&gt;article that Maria wrote&lt;/A&gt; for MSDN Magazine. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Well I just found out via &lt;A href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/09/11/winunit-is-now-on-codeplex.aspx" mce_href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/09/11/winunit-is-now-on-codeplex.aspx"&gt;John Robbins&lt;/A&gt; that Maria finally got around to making a permanent home for WinUnit over on CodePlex.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://winunit.codeplex.com/"&gt;http://winunit.codeplex.com/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Thanks Maria!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7200461" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Technology/default.aspx">Technology</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Native/default.aspx">Native</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/09/11/winunit-is-now-on-codeplex.aspx</feedburner:origLink></item><item><title>Windows with C++: Drawing with Direct2D</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/Y9wZ12-K0pI/windows-with-c-drawing-with-direct2d.aspx</link><pubDate>Thu, 10 Sep 2009 06:50:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7198795</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/09/10/windows-with-c-drawing-with-direct2d.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;IMG border=0 align=right src="http://weblogs.asp.net/blogs/kennykerr/msdnSept09.png"&gt;My latest &lt;STRONG&gt;Windows with C++&lt;/STRONG&gt; column, "&lt;A href="http://msdn.microsoft.com/magazine/ee413543.aspx" mce_href="http://msdn.microsoft.com/magazine/ee413543.aspx"&gt;Drawing with Direct2D&lt;/A&gt;", just went live on the redesigned MSDN Magazine website. This is really a continuation of my previous column where I introduced Direct2D. From the article:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;It is helpful to think about Direct2D as a hardware-accelerated 2-D rendering API. Of course, it supports software fallback, but the point here is that Direct2D is about rendering. Unlike other graphics APIs on Windows, Direct2D takes a componentized approach to graphics. It does not provide its own APIs for encoding and decoding bitmaps, text layout, font management, animation, 3-D and so on. Rather, it focuses on rendering and control over the graphics processing unit (GPU) while providing first class hooks to other APIs that focus on things like text layout and imaging. Direct2D does, however, provide primitives for representing different types of brushes as well as simple and complex shapes, the building blocks for any 2-D graphics application.&lt;/P&gt;
&lt;P mce_keep="true"&gt;In this article, I'm going to show you how to draw with Direct2D. I'll begin by introducing Direct2D's color structure and then&lt;BR&gt;show you how to create various types of brushes. Unlike most of the other graphics APIs on Windows, Direct2D doesn't provide a "pen" primitive, so brushes are pretty important as they're used for all outline and filling tasks. With that out of the way, I'll show you how to draw primitive shapes.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;I hope you enjoy it. Right now I’m finishing up the December issue of Windows with C++ where I dive into Direct2D interoperability.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here are links to some of the most recent Windows with C++ columns:&lt;/P&gt;
&lt;P mce_keep="true"&gt;June 2009 – &lt;A href="http://msdn.microsoft.com/magazine/dd861344.aspx" mce_href="http://msdn.microsoft.com/magazine/dd861344.aspx"&gt;Introducing Direct2D&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;April 2009 – &lt;A href="http://msdn.microsoft.com/magazine/dd569754.aspx" mce_href="http://msdn.microsoft.com/magazine/dd569754.aspx"&gt;The Virtual Disk API in Windows 7&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;February 2009 – &lt;A href="http://msdn.microsoft.com/magazine/dd434652.aspx" mce_href="http://msdn.microsoft.com/magazine/dd434652.aspx"&gt;Visual C++ 2010 and the Parallel Patterns Library&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;December 2008 – &lt;A href="http://msdn.microsoft.com/magazine/dd252945.aspx" mce_href="http://msdn.microsoft.com/magazine/dd252945.aspx"&gt;x64 Debugging With Pseudo Variables and Format Specifiers&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;October 2008 – &lt;A href="http://msdn.microsoft.com/en-us/magazine/cc850829.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc850829.aspx"&gt;Exploring High-Performance Algorithms&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;August 2008 – &lt;A href="http://msdn.microsoft.com/en-us/magazine/cc716528.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc716528.aspx"&gt;Asynchronous WinHTTP&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;And &lt;A href="http://weblogs.asp.net/kennykerr/pages/My-Articles.aspx" mce_href="http://weblogs.asp.net/kennykerr/pages/My-Articles.aspx"&gt;here is a complete list&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7198795" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Technology/default.aspx">Technology</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Direct2D/default.aspx">Direct2D</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Native/default.aspx">Native</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/09/10/windows-with-c-drawing-with-direct2d.aspx</feedburner:origLink></item><item><title>I just don’t get twitter</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/OAZ3YIxdFzc/i-just-don-t-get-twitter.aspx</link><pubDate>Sat, 22 Aug 2009 14:37:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7177794</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/08/22/i-just-don-t-get-twitter.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I think I’m with Mickey on this one and may never post anything more, but to ensure that nobody confuses me with a few other notorious Kenny Kerr’s out there my twitter account is “&lt;A href="http://twitter.com/kennykerr" mce_href="http://twitter.com/kennykerr"&gt;kennykerr&lt;/A&gt;”.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;
&lt;OBJECT width=425 height=344&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/f30D3LSe-kY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;
&lt;embed src="http://www.youtube.com/v/f30D3LSe-kY&amp;hl=en&amp;fs=1&amp;rel=0" mce_src="http://www.youtube.com/v/f30D3LSe-kY&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7177794" width="1" height="1"&gt;</description><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/08/22/i-just-don-t-get-twitter.aspx</feedburner:origLink></item><item><title>Window Clippings loves Windows 7</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/um_jrHkrk84/window-clippings-loves-windows-7.aspx</link><pubDate>Thu, 20 Aug 2009 13:03:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7175014</guid><dc:creator>KennyKerr</dc:creator><slash:comments>8</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/08/20/window-clippings-loves-windows-7.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I received a few queries about this so I thought I better just make a quick statement: &lt;A href="http://www.windowclippings.com/" mce_href="http://www.windowclippings.com/"&gt;Window Clippings&lt;/A&gt; 2.1 works great on Windows 7. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG border=0 src="http://weblogs.asp.net/blogs/kennykerr/WcLovesWin7.png"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I’ve also updated the &lt;A href="http://www.windowclippings.com/" mce_href="http://www.windowclippings.com/"&gt;website&lt;/A&gt; to point this out.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7175014" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Window+Clippings/default.aspx">Window Clippings</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/08/20/window-clippings-loves-windows-7.aspx</feedburner:origLink></item><item><title>Windows Server 2008 R2 for MSDN Subscribers</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/oQQpoX0OhVo/windows-server-2008-r2-for-msdn-subscribers.aspx</link><pubDate>Fri, 14 Aug 2009 17:46:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7169584</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/08/14/windows-server-2008-r2-for-msdn-subscribers.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;It’s been just over a week since &lt;A href="http://weblogs.asp.net/kennykerr/archive/2009/08/06/windows-7-for-msdn-subscribers.aspx" mce_href="http://weblogs.asp.net/kennykerr/archive/2009/08/06/windows-7-for-msdn-subscribers.aspx"&gt;Windows 7 was made available to MSDN subscribers&lt;/A&gt; and now you can finally download the server version and with it version 2 of the best virtualization system on the planet!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG border=0 src="http://weblogs.asp.net/blogs/kennykerr/r2.gif"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://msdn.microsoft.com/subscriptions/bb608344.aspx" mce_href="http://msdn.microsoft.com/subscriptions/bb608344.aspx"&gt;Go and get it&lt;/A&gt;!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7169584" width="1" height="1"&gt;</description><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/08/14/windows-server-2008-r2-for-msdn-subscribers.aspx</feedburner:origLink></item><item><title>Lenovo Website Blues</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/U9PC5-eG_Qw/lenovo-website-blues.aspx</link><pubDate>Mon, 10 Aug 2009 19:33:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7165993</guid><dc:creator>KennyKerr</dc:creator><slash:comments>5</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/08/10/lenovo-website-blues.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;A href="http://weblogs.asp.net/blogs/kennykerr/lenovo4.png"&gt;&lt;/A&gt;I’ve been dreaming of getting a &lt;A href="http://www.lenovo.com/ca/en/" mce_href="http://www.lenovo.com/ca/en/"&gt;Lenovo&lt;/A&gt; laptop for a few years. Don’t get me wrong, I love my &lt;A href="http://weblogs.asp.net/kennykerr/archive/2007/07/11/notebook-update.aspx" mce_href="http://weblogs.asp.net/kennykerr/archive/2007/07/11/notebook-update.aspx"&gt;Dell D630&lt;/A&gt; but it may be time to upgrade soon. What frustrates me is how bad the Lenovo website experience is. Take the very appealing new T400s’ customization page:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG border=0 src="http://weblogs.asp.net/blogs/kennykerr/lenovo1.png"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Boy that’s one serious processor upgrade. For only $999,624.00 I can upgrade to the pathetic low-voltage 1.4GHz Core 2 Duo processor. This leaves me with a sales price of over a million dollars:&lt;/P&gt;&lt;IMG border=0 src="http://weblogs.asp.net/blogs/kennykerr/lenovo4.png"&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now if&amp;nbsp;only I was as lucky as &lt;A href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/26/mind-boggling-great-deal-on-a-lenovo-x200-tablet-and-installing-win7.aspx" mce_href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/26/mind-boggling-great-deal-on-a-lenovo-x200-tablet-and-installing-win7.aspx"&gt;John Robbins&lt;/A&gt;...&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7165993" width="1" height="1"&gt;</description><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/08/10/lenovo-website-blues.aspx</feedburner:origLink></item><item><title>Windows 7 for MSDN Subscribers</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/2Pwtov6fbdw/windows-7-for-msdn-subscribers.aspx</link><pubDate>Thu, 06 Aug 2009 17:11:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7162744</guid><dc:creator>KennyKerr</dc:creator><slash:comments>3</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/08/06/windows-7-for-msdn-subscribers.aspx#comments</comments><description>&lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/kennykerr/win-7-ultimate.jpg" border="0"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="https://msdn.microsoft.com/subscriptions/" mce_href="https://msdn.microsoft.com/subscriptions/"&gt;Go and get it&lt;/a&gt;!&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7162744" width="1" height="1"&gt;</description><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/08/06/windows-7-for-msdn-subscribers.aspx</feedburner:origLink></item><item><title>On the move again</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/W-c3hvnDmo4/on-the-move-again.aspx</link><pubDate>Sun, 26 Jul 2009 07:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7154674</guid><dc:creator>KennyKerr</dc:creator><slash:comments>3</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/07/26/on-the-move-again.aspx#comments</comments><description>&lt;p&gt;Our house is now officially on the market. Anyone want to live in &lt;a href="http://www.rightmove.co.uk/property-for-sale/property-12913368.html?locationIdentifier=REGION%5E1347&amp;amp;sortByPriceDescending=false&amp;amp;minPrice=280000&amp;amp;displayPropertyType=houses&amp;amp;oldDisplayPropertyType=houses&amp;amp;pageNumber=1&amp;amp;backToListURL=%2Fproperty-for-sale%2Ffind.html%3FlocationIdentifier%3DREGION%255E1347%26sortByPriceDescending%3Dfalse%26minPrice%3D280000%26displayPropertyType%3Dhouses%26oldDisplayPropertyType%3Dhouses" mce_href="http://www.rightmove.co.uk/property-for-sale/property-12913368.html?locationIdentifier=REGION%5E1347&amp;amp;sortByPriceDescending=false&amp;amp;minPrice=280000&amp;amp;displayPropertyType=houses&amp;amp;oldDisplayPropertyType=houses&amp;amp;pageNumber=1&amp;amp;backToListURL=%2Fproperty-for-sale%2Ffind.html%3FlocationIdentifier%3DREGION%255E1347%26sortByPriceDescending%3Dfalse%26minPrice%3D280000%26displayPropertyType%3Dhouses%26oldDisplayPropertyType%3Dhouses"&gt;Tonbridge in Kent&lt;/a&gt;? We’re on our way back to Ontario in Canada after two years in England. This will be our last move!&lt;br&gt;&lt;br&gt;In other news there have been some hiccups with scheduling at MSDN Magazine. My next article, on &lt;a href="http://msdn.microsoft.com/magazine/dd861344.aspx" mce_href="http://msdn.microsoft.com/magazine/dd861344.aspx"&gt;Direct2D&lt;/a&gt; again, will now appear in the September 2009 issue. I’ve also just finished another really fun article on the new Windows Web Services API that I’m really excited about. That’ll be in the October 2009 issue and I’ll probably write some more about it for the December 2009 issue. &lt;br&gt;&lt;br&gt;We’re really looking forward to being back in Canada! Just as soon as we sell this house...&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7154674" width="1" height="1"&gt;</description><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/07/26/on-the-move-again.aspx</feedburner:origLink></item><item><title>Asynchronous Agents</title><link>http://feedproxy.google.com/~r/KennyKerr/~3/pu67lkF2TrU/asynchronous-agents.aspx</link><pubDate>Wed, 03 Jun 2009 10:55:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7107005</guid><dc:creator>KennyKerr</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/kennykerr/archive/2009/06/03/asynchronous-agents.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;A href="http://www.parallelroads.com/blog/" mce_href="http://www.parallelroads.com/blog/"&gt;Rick Molloy&lt;/A&gt;, one of the masterminds behind the new concurrency runtime (concrt) and parallel patterns library (PPL), has written an article in the latest issue of MSDN Magazine demonstrating the new asynchronous agents library with the classic dining philosophers problem. &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-gb/magazine/dd882512.aspx" mce_href="http://msdn.microsoft.com/en-gb/magazine/dd882512.aspx"&gt;Concurrent Affairs: Solving The Dining Philosophers Problem With Asynchronous Agents&lt;/A&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Enabling C++ developers to write highly concurrent applications is a major focus of Visual Studio 2010. The beta release includes the Concurrency Runtime, parallel libraries, and development tools aimed at addressing several common problems preventing developers from unlocking the performance potential inherent to multicore hardware. Notably, this includes ensuring that developers can identify and take advantage of opportunities for concurrency in their code, productively manage shared state and its side effects, and not having to worry about building low-overhead concurrency infrastructure that is scalable at run time on a variety of hardware.&lt;/P&gt;
&lt;P mce_keep="true"&gt;In this article, I'm going to demonstrate how to use the new Asynchronous Agents Library included as part of Visual C++ 2010 to manage the difficulties that can arise with shared state. To show you how this works, I will walk through an implementation of a classic concurrency problem: Djikstra's Dining Philosophers. You'll see how the actor-based programming construct of an agent in combination with asynchronous message-passing APIs can be used to provide a correct and easy to understand solution to this problem that doesn't rely directly on threading or synchronization primitives.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;Enjoy!&lt;BR&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7107005" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Technology/default.aspx">Technology</category><category domain="http://weblogs.asp.net/kennykerr/archive/tags/Native/default.aspx">Native</category><feedburner:origLink>http://weblogs.asp.net/kennykerr/archive/2009/06/03/asynchronous-agents.aspx</feedburner:origLink></item></channel></rss>
