<?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>Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx</link><description>Jared here again. I very excited to announce we recently released a tool I've been working on to MSDN that will greatly help with using PInvoke in managed code. The tool is called the "PInvoke Interop Assistant" and is included as part of a MSDN article</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>More P/Invoke Help</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8207385</link><pubDate>Fri, 14 Mar 2008 20:45:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8207385</guid><dc:creator>DevPrime</dc:creator><description>&lt;p&gt;One of the first things I really hammered with .NET 1.0 back in late 2000 was P/Invoke. I was used to&lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8212626</link><pubDate>Sat, 15 Mar 2008 02:09:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8212626</guid><dc:creator>Greg</dc:creator><description>&lt;p&gt;Suggest listing a .NET framework to Win32 call equivalent and then greatly reducing the number of Win32 calls that do not have a .NET equivalent or a MS generated PInvoke wrapper. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I've been through it in C# with calling the SQL Server backup APIs. &amp;nbsp;The best suggestion I've seen in to write simple C++ wrappers around the Win32 calls that the wrappers just translate to/from the C++ paramter types of those calls. &amp;nbsp;Much easier than using an IntPtr and calculating offsets, etc in C#.&lt;/p&gt;
&lt;p&gt;This could be a lot nicer when we get most of Win32 into .NET and then retire the win32 apis by using a .NET framework THUNK layer to emulate win32 for legacy applications that need Win32.&lt;/p&gt;
</description></item><item><title>PInvoke Interop Assistant: O εύκολος τρόπος για μιλήσετε με unmanaged κώδικα</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8223122</link><pubDate>Sat, 15 Mar 2008 11:12:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8223122</guid><dc:creator>Manos Kelaiditis' Weblog</dc:creator><description>&lt;p&gt;Στον κόσμο του .NET framework υπάρχουν πολλές φορές περιπτώσεις όπου είναι απαραίτητο ο managed κώδικας&lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8282179</link><pubDate>Mon, 17 Mar 2008 09:51:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8282179</guid><dc:creator>Michael Giagnocavo</dc:creator><description>&lt;p&gt;Well finally, thanks!&lt;/p&gt;
&lt;p&gt;@Greg: You sound like PDC '03: &amp;quot;Longhorn is gonna be like, all managed code man, and like, everything new is in managed code and it's first class and everything.&amp;quot;&lt;/p&gt;
&lt;p&gt;Fast forward to Vista RTM and I'm not sure if there were any managed APIs (although TONS of unmanaged stuff around). &lt;/p&gt;
&lt;p&gt;I wouldn't keep my hopes up of the Windows team getting this fixed. Seems like too many hardcore leet people who think C/C++ rocks. &lt;/p&gt;
&lt;p&gt;But hey, at least SQL already did (backup in SQL 2005? SMO makes it about 5 lines of code). &lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8297575</link><pubDate>Tue, 18 Mar 2008 01:57:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8297575</guid><dc:creator>Greg</dc:creator><description>&lt;p&gt;The .NET framework is largely complete enough to replace win32 above the device driver level. &amp;nbsp;Creating Thunk modules to replace different win32 API sets could be done over the next year or two. &amp;nbsp;We'd be largely win32 free at that point.&lt;/p&gt;
&lt;p&gt;We have lots of problems finding decent C++ talent and the schools are not graduating any sizable numbers of new C++ developers. &amp;nbsp;This &amp;nbsp;is forcing us to replace our C++ systems.&lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8324560</link><pubDate>Wed, 19 Mar 2008 06:29:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8324560</guid><dc:creator>MichaelGG</dc:creator><description>&lt;p&gt;Greg, I definately agree with you. It's just not going to happen unless the Windows team replaces a lot of people. They started somewhat down that path with Vista, then scrapped that idea and started over. Take a look at this:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.grimes.demon.co.uk/dotnet/vistaAndDotnet.htm"&gt;http://www.grimes.demon.co.uk/dotnet/vistaAndDotnet.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, yes, I agree (not on replacing Win32, but migrating towards .NET parity, at least). But no, Windows is not heading in that direction at all, and I doubt the Windows team ever will. Other teams seem much more on the ball here (SQL, everything under ScottGu, etc.) &lt;/p&gt;
&lt;p&gt;But, with Vista's poor reception, perhaps they'll have a change of heart :).&lt;/p&gt;
</description></item><item><title>PInvoke の使用に役立つツール</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8588801</link><pubDate>Tue, 10 Jun 2008 08:31:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8588801</guid><dc:creator>The Visual Basic Team</dc:creator><description>&lt;p&gt;再び Jared です。 私が作業に携わってきたツールが、最近 MSDN でリリースされました。マネージ コードでの PInvoke の使用に役立つ PInvoke Interop Assistant&lt;/p&gt;
</description></item><item><title>PInvoke Interop Assistant on CodePlex</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#8625742</link><pubDate>Fri, 20 Jun 2008 19:27:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8625742</guid><dc:creator>The Visual Basic Team</dc:creator><description>&lt;p&gt;I'm happy to announce that the PInvoke Interop Assistant tool is now available on CodePlex. This includes&lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#9382979</link><pubDate>Thu, 29 Jan 2009 14:54:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9382979</guid><dc:creator>Anton Morozov</dc:creator><description>&lt;p&gt;Great tool.&lt;/p&gt;
&lt;p&gt;I'd only suggest the (optional?) omitting the System.Runtime.InteropServices namespace from the generated code...&lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#9388502</link><pubDate>Sun, 01 Feb 2009 19:40:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9388502</guid><dc:creator>Jared Parsons</dc:creator><description>&lt;p&gt;@Anton&lt;/p&gt;
&lt;p&gt;Thanks for the suggestion. &amp;nbsp;I've heard this multiple times and I'm looking for a way to do this. &amp;nbsp;Unfortunately though, I rely on the CodeDom to spit code out and by default it spits out fully qualified names. &amp;nbsp;&lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#9822894</link><pubDate>Tue, 07 Jul 2009 19:30:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9822894</guid><dc:creator>Fippy Darkpaw</dc:creator><description>&lt;p&gt;Amazing tool. Really saved me a lot of time at work converting some calls to a C++ DLL that return structs.&lt;/p&gt;
</description></item><item><title>re: Making PInvoke Easy</title><link>http://blogs.msdn.com/vbteam/archive/2008/03/14/making-pinvoke-easy.aspx#9895435</link><pubDate>Tue, 15 Sep 2009 18:26:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9895435</guid><dc:creator>Carlos Guaneme</dc:creator><description>&lt;p&gt;Save my life. Definitevely a must have. Thanks for sharing this.&lt;/p&gt;
</description></item></channel></rss>