<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: HowTo: Correctly read reparse data in Vista</title>
	<link>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/</link>
	<description>Infos about Windows development and dotNET Framework</description>
	<pubDate>Thu, 29 Jul 2010 11:38:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Neil Haven</title>
		<link>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-94</link>
		<dc:creator>Neil Haven</dc:creator>
		<pubDate>Wed, 28 May 2008 21:13:07 +0000</pubDate>
		<guid>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-94</guid>
		<description>Thanks, Jochen!  Anyone trying to implement this, or something like it, should be aware of a few other little gotchas in the Microsoft API.  I've detailed them at http://brainrack.wordpress.com/2008/05/28/broken-and-ill-documented-api-for-windows-mount-points/</description>
		<content:encoded><![CDATA[<p>Thanks, Jochen!  Anyone trying to implement this, or something like it, should be aware of a few other little gotchas in the Microsoft API.  I&#8217;ve detailed them at <a href="http://brainrack.wordpress.com/2008/05/28/broken-and-ill-documented-api-for-windows-mount-points/" rel="nofollow">http://brainrack.wordpress.com/2008/05/28/broken-and-ill-documented-api-for-windows-mount-points/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Broken and Ill-Documented API for Windows Mount-Points &#171; Brainrack Aborning - Developing a Search Engine</title>
		<link>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-93</link>
		<dc:creator>Broken and Ill-Documented API for Windows Mount-Points &#171; Brainrack Aborning - Developing a Search Engine</dc:creator>
		<pubDate>Wed, 28 May 2008 20:25:03 +0000</pubDate>
		<guid>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-93</guid>
		<description>[...]  http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/ [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;]  http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/ [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jochen Kalmbach’s Blog &#187; Blog Archive &#187; Mal wieder ein Doku Fehler in der MSDN</title>
		<link>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-19</link>
		<dc:creator>Jochen Kalmbach’s Blog &#187; Blog Archive &#187; Mal wieder ein Doku Fehler in der MSDN</dc:creator>
		<pubDate>Fri, 07 Mar 2008 18:37:41 +0000</pubDate>
		<guid>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-19</guid>
		<description>[...] einen Kommentar ist mir ein Fehler in meinem Beispiel zum Auslesen der Reparse-Daten (Mount-Point, Junctions) [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] einen Kommentar ist mir ein Fehler in meinem Beispiel zum Auslesen der Reparse-Daten (Mount-Point, Junctions) [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jkalmbach</title>
		<link>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-18</link>
		<dc:creator>jkalmbach</dc:creator>
		<pubDate>Fri, 07 Mar 2008 18:25:08 +0000</pubDate>
		<guid>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-18</guid>
		<description>Ok, I found the correct definition in the ntfsi.h file from the DDK and corrected the example; also added support for SymLink and Junctions ;) 
Thanks again!</description>
		<content:encoded><![CDATA[<p>Ok, I found the correct definition in the ntfsi.h file from the DDK and corrected the example; also added support for SymLink and Junctions <img src='http://blog.kalmbach-software.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Thanks again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jkalmbach</title>
		<link>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-17</link>
		<dc:creator>jkalmbach</dc:creator>
		<pubDate>Fri, 07 Mar 2008 17:33:13 +0000</pubDate>
		<guid>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-17</guid>
		<description>Hi Sergey,

1. The "correct" (or MS) way is to use FILE_READ_EA; see my screencast about using APILogger-Shim:
http://blog.kalmbach-software.de/2008/03/06/screencast-api-logging-with-the-application-compatibility-layer/

2. I don't understand; see documentation of REPARSE_DATA_BUFFER
http://msdn2.microsoft.com/en-us/library/ms791514.aspx</description>
		<content:encoded><![CDATA[<p>Hi Sergey,</p>
<p>1. The &#8220;correct&#8221; (or MS) way is to use FILE_READ_EA; see my screencast about using APILogger-Shim:<br />
<a href="http://blog.kalmbach-software.de/2008/03/06/screencast-api-logging-with-the-application-compatibility-layer/" rel="nofollow">http://blog.kalmbach-software.de/2008/03/06/screencast-api-logging-with-the-application-compatibility-layer/</a></p>
<p>2. I don&#8217;t understand; see documentation of REPARSE_DATA_BUFFER<br />
<a href="http://msdn2.microsoft.com/en-us/library/ms791514.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms791514.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey Vlasov</title>
		<link>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-16</link>
		<dc:creator>Sergey Vlasov</dc:creator>
		<pubDate>Fri, 07 Mar 2008 17:02:25 +0000</pubDate>
		<guid>http://blog.kalmbach-software.de/2008/02/28/howto-correctly-read-reparse-data-in-vista/#comment-16</guid>
		<description>Two little remarks:
1. In my tests it works even without FILE_READ_EA, i.e. CreateFile(szMyFile, 0, ...)
2. SymbolicLinkReparseBuffer definition misses "ULONG Flags;". It should be 
struct {
			USHORT SubstituteNameOffset;
			USHORT SubstituteNameLength;
			USHORT PrintNameOffset;
			USHORT PrintNameLength;
			ULONG Flags;
			WCHAR PathBuffer[1];
		} SymbolicLinkReparseBuffer;

And you forgot to mention that extracting symbolic link info is left as exercise for the reader :) It can be tested on _T("c:\\Users\\All Users");</description>
		<content:encoded><![CDATA[<p>Two little remarks:<br />
1. In my tests it works even without FILE_READ_EA, i.e. CreateFile(szMyFile, 0, &#8230;)<br />
2. SymbolicLinkReparseBuffer definition misses &#8220;ULONG Flags;&#8221;. It should be<br />
struct {<br />
			USHORT SubstituteNameOffset;<br />
			USHORT SubstituteNameLength;<br />
			USHORT PrintNameOffset;<br />
			USHORT PrintNameLength;<br />
			ULONG Flags;<br />
			WCHAR PathBuffer[1];<br />
		} SymbolicLinkReparseBuffer;</p>
<p>And you forgot to mention that extracting symbolic link info is left as exercise for the reader <img src='http://blog.kalmbach-software.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> It can be tested on _T(&#8221;c:\\Users\\All Users&#8221;);</p>
]]></content:encoded>
	</item>
</channel>
</rss>
