<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Windows Vista</title>
        <link>http://geekswithblogs.net/khanna/category/551.aspx</link>
        <description>Windows Vista</description>
        <language>en-US</language>
        <copyright>Gaurav Khanna</copyright>
        <managingEditor>gaurav@wintoolzone.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>[Download] TransNTFS v1.0.0.1 - support for folders, symbolic and hard links and more</title>
            <link>http://geekswithblogs.net/khanna/archive/2007/03/18/Download-TransNTFS-v1.0.0.1---support-for-folders-symbolic-and-hard.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: 0.9em; font-family: arial,helvetica,sans-serif"&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;I have updated &lt;/font&gt;&lt;a href="http://geekswithblogs.net/khanna/archive/2007/03/15/Download-TransNTFS---Managed-implementation-of-Transactional-NTFS-TxF-APIs.aspx" target="_blank"&gt;&lt;font face="Trebuchet MS"&gt;TransNTFS&lt;/font&gt;&lt;/a&gt;&lt;font face="Trebuchet MS"&gt;, my managed implementation for the transactional NTFS APIs that have been introduced with Windows Vista. TransNTFS now also supports the following operations under a transaction:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font size="2"&gt;Creation and deletion of folders &lt;/font&gt; &lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Deletion of files &lt;/font&gt; &lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Creation of &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa365680.aspx" target="_blank"&gt;&lt;font size="2"&gt;symbolic links&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt; &lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Creation of &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms810604.aspx" target="_blank"&gt;&lt;font size="2"&gt;hard links&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;font size="2"&gt;It comes with complete documentation (as always) and can be downloaded from &lt;/font&gt;&lt;a href="http://www.wintoolzone.com/ListDotNET.aspx?Listtype=3" target="_blank"&gt;&lt;font size="2"&gt;http://www.wintoolzone.com/ListDotNET.aspx?Listtype=3&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113759"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113759" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/khanna/aggbug/113759.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gaurav Khanna</dc:creator>
            <guid>http://geekswithblogs.net/khanna/archive/2007/03/18/Download-TransNTFS-v1.0.0.1---support-for-folders-symbolic-and-hard.aspx</guid>
            <pubDate>Sun, 18 Mar 2007 17:09:21 GMT</pubDate>
            <comments>http://geekswithblogs.net/khanna/archive/2007/03/18/Download-TransNTFS-v1.0.0.1---support-for-folders-symbolic-and-hard.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/khanna/comments/commentRss/113759.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/khanna/services/trackbacks/113759.aspx</trackback:ping>
        </item>
        <item>
            <title>[Download] TransNTFS - Managed implementation of Transactional NTFS (TxF) APIs</title>
            <link>http://geekswithblogs.net/khanna/archive/2007/03/15/Download-TransNTFS---Managed-implementation-of-Transactional-NTFS-TxF-APIs.aspx</link>
            <description>&lt;p&gt;&lt;font size="2"&gt;Sometime back, I had made a &lt;/font&gt;&lt;a href="http://geekswithblogs.net/khanna/archive/2007/03/01/Programming-the-Transactional-NTFS-TxF.aspx" target="_blank"&gt;&lt;font size="2"&gt;post&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; regarding a native C++ class I had authored for using some of the &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa365456.aspx" target="_blank"&gt;&lt;font size="2"&gt;Transactional NTFS (TxF)&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;APIs introduced in Windows Vista.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Almost two weeks from that post, I just finished my managed implementation, &lt;/font&gt;&lt;a href="http://www.wintoolzone.com/ListDotNET.aspx?Listtype=3" target="_blank"&gt;&lt;strong&gt;&lt;font size="2"&gt;TransNTFS&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;font size="2"&gt;&lt;strong&gt;,&lt;/strong&gt; that enables you to use the &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa365456.aspx" target="_blank"&gt;&lt;font size="2"&gt;TxF&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; APIs from managed code. As always, &lt;em&gt;Managed C++&lt;/em&gt; enabled the implementation with excellent ease. It comes with complete documentation and can be downloaded from &lt;/font&gt;&lt;a href="http://www.wintoolzone.com/ListDotNET.aspx?Listtype=3"&gt;&lt;font size="2"&gt;http://www.wintoolzone.com/ListDotNET.aspx?Listtype=3&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Below is an example usage of how to copy a file under a transaction:&lt;/font&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Text;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; WinToolZone;
&lt;span style="color: rgb(0,0,255)"&gt;namespace&lt;/span&gt; ManagedTransactionCopyDemo
{
    &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; Program
    {
        &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Main(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;[] args)
        {
            TransNTFS refTC = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; TransNTFS();
            &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0,128,0)"&gt;// Init the transaction
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;bool&lt;/span&gt; fSuccess = refTC.BeginTransaction();
            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (fSuccess)
            {
                fSuccess = refTC.CopyFile(&lt;span style="color: rgb(163,21,21)"&gt;"d:\\transcopy.pdb"&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"d:\\t.pdb"&lt;/span&gt;, &lt;span style="color: rgb(0,0,255)"&gt;false&lt;/span&gt;);
                &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (fSuccess)
                {
                    fSuccess = refTC.Commit();
                    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (fSuccess)
                    {
                        &lt;span style="color: rgb(43,145,175)"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163,21,21)"&gt;"Copy successful!"&lt;/span&gt;);
                    }
                    &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0,0,255)"&gt;else
&lt;/span&gt;                    {
                        ShowErrorAndExit(&lt;span style="color: rgb(163,21,21)"&gt;"Commit failed!"&lt;/span&gt;, refTC.LastError);
                    }
                }
                &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0,0,255)"&gt;else
&lt;/span&gt;                {
                    ShowErrorAndExit(&lt;span style="color: rgb(163,21,21)"&gt;"Copy failed!"&lt;/span&gt;, refTC.LastError);
                }
            }
            &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0,0,255)"&gt;else
&lt;/span&gt;            {
                ShowErrorAndExit(&lt;span style="color: rgb(163,21,21)"&gt;"Unable to start the transaction!"&lt;/span&gt;, refTC.LastError);
            }
        }
        &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; ShowErrorAndExit(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; p, &lt;span style="color: rgb(0,0,255)"&gt;int&lt;/span&gt; p_2)
        {
            &lt;span style="color: rgb(43,145,175)"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163,21,21)"&gt;"ERROR: {0}"&lt;/span&gt;, p);
            &lt;span style="color: rgb(43,145,175)"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163,21,21)"&gt;"CODE: {0}"&lt;/span&gt;, p_2);
            System.&lt;span style="color: rgb(43,145,175)"&gt;Environment&lt;/span&gt;.Exit(1);
        }
    }
}
&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113758"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113758" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/khanna/aggbug/113758.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gaurav Khanna</dc:creator>
            <guid>http://geekswithblogs.net/khanna/archive/2007/03/15/Download-TransNTFS---Managed-implementation-of-Transactional-NTFS-TxF-APIs.aspx</guid>
            <pubDate>Thu, 15 Mar 2007 21:30:31 GMT</pubDate>
            <comments>http://geekswithblogs.net/khanna/archive/2007/03/15/Download-TransNTFS---Managed-implementation-of-Transactional-NTFS-TxF-APIs.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/khanna/comments/commentRss/113758.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/khanna/services/trackbacks/113758.aspx</trackback:ping>
        </item>
        <item>
            <title>Programming the Transactional NTFS (TxF)</title>
            <link>http://geekswithblogs.net/khanna/archive/2007/03/01/Programming-the-Transactional-NTFS-TxF.aspx</link>
            <description>&lt;p&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;&lt;font size="2"&gt;One of the key new features of &lt;/font&gt;&lt;a title="Windows Vista Homepage" href="http://www.microsoft.com/windows/products/windowsvista/default.mspx" target="_blank"&gt;&lt;em&gt;&lt;font size="2"&gt;Windows Vista&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;font size="2"&gt; is a component called the &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/aa488080.aspx" target="_blank"&gt;&lt;font size="2"&gt;Kernel Transaction Manager (KTM)&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; that brings inherent support for transactional development in not just the kernel-mode but also for user mode. &lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;Infact, NTFS has been enhanced to use and support transactions such that couple of new APIs (e.g. &lt;em&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa363853.aspx" target="_blank"&gt;&lt;em&gt;CopyFileTransacted&lt;/em&gt;&lt;/a&gt;, &lt;a href="http://msdn2.microsoft.com/en-us/aa365241.aspx" target="_blank"&gt;MoveFileTransacted&lt;/a&gt;&lt;/em&gt; just to name a few) have surfaced up. You can get more details on &lt;a href="http://msdn2.microsoft.com/en-us/library/aa365456.aspx"&gt;Transactional NTFS here&lt;/a&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;&lt;font size="2"&gt;To demonstrate the power of the new APIs, I wrote a C++ class library (unmanaged), &lt;em&gt;CTransCopy,&lt;/em&gt; that allows you to:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font size="2"&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;Copy files under a transaction&lt;/span&gt; &lt;/font&gt; &lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;Move files under a transaction&lt;/span&gt; &lt;/font&gt; &lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;Commit or Rollback the transaction&lt;/span&gt; &lt;/font&gt; &lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;Let you wire up a callback handler for copy/move progress&lt;/span&gt; &lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;&lt;font size="2"&gt;You can download it from &lt;/font&gt;&lt;a href="http://www.wintoolzone.com/ListWin32.aspx?Listtype=5"&gt;&lt;font size="2"&gt;http://www.wintoolzone.com/ListWin32.aspx?Listtype=5&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;. The zipped archive also contains a sample client source code. &lt;em&gt;BTW, since the .LIB file containing the class was compiled using VC++ 2005 compiler, you will need the same to link against it and write an application&lt;/em&gt;. &lt;em&gt;You can use&lt;/em&gt; &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/vstudio/express/visualc/" target="_blank"&gt;&lt;em&gt;&lt;font size="2"&gt;VC++ 2005 Express Edition&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;font size="2"&gt;. Below is an example usage of the same:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class="code"&gt;CTransCopy tcopy;

&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (tcopy.IsOSSupported() == FALSE)
{
    printf(&lt;span style="color: rgb(163,21,21)"&gt;"This application requires Windows Vista or later."&lt;/span&gt;);
    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; -1;
}

&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (tcopy.Init() == FALSE)
{
    printf(&lt;span style="color: rgb(163,21,21)"&gt;"Init failed with error %08X\n"&lt;/span&gt;,tcopy.LastError());
    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; -1;
}

&lt;span style="color: rgb(0,128,0)"&gt;// Setup a callback for progress
&lt;/span&gt;tcopy.SetCopyCallback(ProgressCallback);

&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (tcopy.CopyFileW(L&lt;span style="color: rgb(163,21,21)"&gt;"D:\\KGK\\Development\\VS\\Windows Vista\\VC\\TransCopy\\debug\\transcopy.pdb"&lt;/span&gt;,
                    L&lt;span style="color: rgb(163,21,21)"&gt;"D:\\transcopy.pdb"&lt;/span&gt;,FALSE) == FALSE)
{
    printf(&lt;span style="color: rgb(163,21,21)"&gt;"Copy/move failed with error %08X\n"&lt;/span&gt;,tcopy.LastError());
    tcopy.Rollback();
    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; -1;
}

&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (tcopy.Rollback() == FALSE)
{
    printf(&lt;span style="color: rgb(163,21,21)"&gt;"Rollback failed with error %08X\n"&lt;/span&gt;,tcopy.LastError());
    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; -1;
}

&lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (tcopy.Commit() == FALSE)
{
    printf(&lt;span style="color: rgb(163,21,21)"&gt;"Commit failed with error %08X\n"&lt;/span&gt;,tcopy.LastError());
    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; -1;
}&lt;/pre&gt;&lt;pre class="code"&gt;printf(&lt;span style="color: rgb(163,21,21)"&gt;"Copy/move successful!\n"&lt;/span&gt;);&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-size: 0.9em; font-family: 'Trebuchet MS',sans-serif"&gt;&lt;span style="font-size: 0.9em"&gt;&lt;font size="2"&gt;&lt;br /&gt;The &lt;em&gt;ProgressCallback&lt;/em&gt; function is implemented as shown below:&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; ProgressCallback(LARGE_INTEGER total, LARGE_INTEGER transferred)
{
    &lt;span style="color: rgb(0,0,255)"&gt;double&lt;/span&gt; percent = (transferred.QuadPart*100.00)/total.QuadPart;
    printf(&lt;span style="color: rgb(163,21,21)"&gt;"%f%% over\n"&lt;/span&gt;,percent);
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p class="zoundry_bw_tags"&gt;&lt;!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Technorati&lt;/span&gt; : &lt;a class="ztag" href="http://technorati.com/tag/API" rel="tag"&gt;API&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/KTM" rel="tag"&gt;KTM&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/Kernel%20Transaction%20Manager" rel="tag"&gt;Kernel Transaction Manager&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/NTFS" rel="tag"&gt;NTFS&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/Transaction" rel="tag"&gt;Transaction&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/Transactional%20NTFS" rel="tag"&gt;Transactional NTFS&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/TxF" rel="tag"&gt;TxF&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/WinToolZone" rel="tag"&gt;WinToolZone&lt;/a&gt;, &lt;a class="ztag" href="http://technorati.com/tag/Windows%20Vista" rel="tag"&gt;Windows Vista&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Del.icio.us&lt;/span&gt; : &lt;a class="ztag" href="http://del.icio.us/tag/API" rel="tag"&gt;API&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/KTM" rel="tag"&gt;KTM&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/Kernel+Transaction+Manager" rel="tag"&gt;Kernel Transaction Manager&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/NTFS" rel="tag"&gt;NTFS&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/Transaction" rel="tag"&gt;Transaction&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/Transactional+NTFS" rel="tag"&gt;Transactional NTFS&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/TxF" rel="tag"&gt;TxF&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/WinToolZone" rel="tag"&gt;WinToolZone&lt;/a&gt;, &lt;a class="ztag" href="http://del.icio.us/tag/Windows+Vista" rel="tag"&gt;Windows Vista&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="ztags"&gt;&lt;span class="ztagspace"&gt;Ice Rocket&lt;/span&gt; : &lt;a class="ztag" href="http://blogs.icerocket.com/tag/API" rel="tag"&gt;API&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/KTM" rel="tag"&gt;KTM&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/Kernel+Transaction+Manager" rel="tag"&gt;Kernel Transaction Manager&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/NTFS" rel="tag"&gt;NTFS&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/Transaction" rel="tag"&gt;Transaction&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/Transactional+NTFS" rel="tag"&gt;Transactional NTFS&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/TxF" rel="tag"&gt;TxF&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/WinToolZone" rel="tag"&gt;WinToolZone&lt;/a&gt;, &lt;a class="ztag" href="http://blogs.icerocket.com/tag/Windows+Vista" rel="tag"&gt;Windows Vista&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113757"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113757" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/khanna/aggbug/113757.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gaurav Khanna</dc:creator>
            <guid>http://geekswithblogs.net/khanna/archive/2007/03/01/Programming-the-Transactional-NTFS-TxF.aspx</guid>
            <pubDate>Fri, 02 Mar 2007 07:37:29 GMT</pubDate>
            <comments>http://geekswithblogs.net/khanna/archive/2007/03/01/Programming-the-Transactional-NTFS-TxF.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/khanna/comments/commentRss/113757.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/khanna/services/trackbacks/113757.aspx</trackback:ping>
        </item>
        <item>
            <title>Service Oriented Architecture: Your thoughts</title>
            <link>http://geekswithblogs.net/khanna/archive/2004/10/19/12847.aspx</link>
            <description>&lt;font class="postText"&gt;

Of late, I have had a chance to &lt;i&gt;attempt&lt;/i&gt; to understand &lt;a href="http://msdn.microsoft.com/architecture/soa/default.aspx" target="_blank"&gt;SOA&lt;/a&gt;. Just like OOP was a shift in the development mindset from procedural, same is SOA from OO/Component based mindsets.&lt;br&gt;&lt;br&gt;

Going ahead, technologies like &lt;a href="http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx" target="_blank"&gt;Indigo&lt;/a&gt; will be based upon the SOA philosophy. Here are couple of links to help you understand SOA better:&lt;br&gt;&lt;br&gt;

1) &lt;a href="http://msdn.microsoft.com/architecture/soa/default.aspx?pull=/library/en-us/dnmaj/html/aj1soa.asp" target="_blank"&gt;Understanding Service Oriented Architecture&lt;/a&gt;&lt;br&gt;
2) &lt;a href="http://msdn.microsoft.com/architecture/soa/default.aspx?pull=/library/en-us/dnbda/html/srorientwp.asp" target="_blank"&gt;Service Orientation and Its Role in Your Connected Systems Strategy&lt;/a&gt;&lt;br&gt;
3) &lt;a href="http://download.microsoft.com/download/3/8/1/38198a72-294d-46c3-93ba-faee5cf85d00/ARCSYM1.ppt" target="_blank"&gt;Envisioning the Service Oriented Enterprise&lt;/a&gt; - presentation by &lt;a href="http://www.pathelland.com/" target="_blank"&gt;Pat Helland&lt;/a&gt;&lt;br&gt;&lt;br&gt;

And I am fortunate enough to speak at &lt;a href="http://www.microsoft.com/india/events/saf/" target="_blank"&gt;SAF 2004 India&lt;/a&gt;, where Pat is also speaking :)


&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12847"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12847" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/khanna/aggbug/12847.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gaurav Khanna</dc:creator>
            <guid>http://geekswithblogs.net/khanna/archive/2004/10/19/12847.aspx</guid>
            <pubDate>Tue, 19 Oct 2004 19:36:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/khanna/archive/2004/10/19/12847.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/khanna/comments/commentRss/12847.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/khanna/services/trackbacks/12847.aspx</trackback:ping>
        </item>
        <item>
            <title>Back from Yatra...</title>
            <link>http://geekswithblogs.net/khanna/archive/2004/10/12/12531.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;I returned this part Friday [8th Oct] after a 10 day long &lt;EM&gt;MSDN Yatra - &lt;/EM&gt;Yatra, in &lt;EM&gt;Hindi, &lt;/EM&gt;literally means travel. And &lt;EM&gt;MSDN Yatra &lt;/EM&gt;is very close a concept to the same.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;When on a &lt;EM&gt;Yatra, &lt;/EM&gt;Microsoft India Evangelists visit different cities across the country where they engage with SIs, ISVs and Academia, in addition to delivering a &lt;EM&gt;&lt;A href="http://www.microsoft.com/india/msdn/events/"&gt;MSDN Session&lt;/A&gt; &lt;/EM&gt;at the city in question. And I just returned from &lt;A href="http://www.kolkatta.com/"&gt;Kolkatta &lt;/A&gt;and my hometown, &lt;A href="http://www.chandigarhcity.com/"&gt;Chandigarh&lt;/A&gt;&amp;nbsp;after these engagements and sessions, with an excellent response - particularly the sessions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Well, that said, I just got geared up for the upcoming MSDN Session on introspecting some of the CLR aspects. Its titled &lt;EM&gt;Inside the Guts of the CLR - &lt;/EM&gt;visit &lt;A href="http://www.microsoft.com/india/msdn/events/"&gt;http://www.microsoft.com/india/msdn/events/&lt;/A&gt;&amp;nbsp;to register for the same. This time I am coming to Hyderabad and Pune to deliver the same. Would be visiting Pune after a long time - 3 years.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;BTW, SAF 2004 is taking place at Bangalore on 19th and 20th of October 2004. For details and registration, visit &lt;A href="http://www.microsoft.com/india/events/saf"&gt;http://www.microsoft.com/india/events/saf&lt;/A&gt;. What am I doing? Talking about &lt;A href="http://longhorn.msdn.microsoft.com/?//longhorn.msdn.microsoft.com/lhsdk/indigo/condistributedapplicationsusingmessagebusservices.aspx"&gt;Indigo&lt;/A&gt;...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Oh yes, almost forgot this - on 25th October, I am at Hyderabad speaking at&amp;nbsp;the &lt;EM&gt;Mobility and Embedded Devices Yatra. &lt;/EM&gt;Its &lt;EM&gt;free &lt;/EM&gt;attendence! Register for it at &lt;A href="http://www.microsoft.com/india/msdn/events/yatra/"&gt;http://www.microsoft.com/india/msdn/events/yatra/&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12531"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=12531" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/khanna/aggbug/12531.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gaurav Khanna</dc:creator>
            <guid>http://geekswithblogs.net/khanna/archive/2004/10/12/12531.aspx</guid>
            <pubDate>Wed, 13 Oct 2004 02:18:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/khanna/archive/2004/10/12/12531.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/khanna/comments/commentRss/12531.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/khanna/services/trackbacks/12531.aspx</trackback:ping>
        </item>
        <item>
            <title>Longhorn Community Preview Available</title>
            <link>http://geekswithblogs.net/khanna/archive/2004/05/12/4786.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Georgia size=2&gt;The community preview (build 4074) of &lt;A href="http://msdn.microsoft.com/longhorn/"&gt;Longhorn &lt;/A&gt;is available for download at MSDN Subscriber downloads&amp;nbsp;&lt;A href="http://msdn.microsoft.com/subscriptions/"&gt;here&lt;/A&gt;. The SDK for the same is also downloadable.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Georgia size=2&gt;&lt;A href="http://msdn.microsoft.com/longhorn/ciab/"&gt;Here&lt;/A&gt; is a video that talks about where Longhorn is headed and how it has progressed since build 4051.&amp;nbsp; Some changes/introductions are:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Georgia size=2&gt;There is no build of &lt;EM&gt;Visual Studio&lt;/EM&gt; that locks with this Longhorn build.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Georgia size=2&gt;&lt;EM&gt;MSBuild&lt;/EM&gt; is included&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Georgia size=2&gt;&lt;EM&gt;MSAvalon&lt;/EM&gt; namespace becomes &lt;EM&gt;System.Windows&lt;/EM&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=4786"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=4786" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/khanna/aggbug/4786.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gaurav Khanna</dc:creator>
            <guid>http://geekswithblogs.net/khanna/archive/2004/05/12/4786.aspx</guid>
            <pubDate>Wed, 12 May 2004 18:39:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/khanna/archive/2004/05/12/4786.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/khanna/comments/commentRss/4786.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/khanna/services/trackbacks/4786.aspx</trackback:ping>
        </item>
    </channel>
</rss>