{"id":9873,"date":"2011-08-18T07:00:00","date_gmt":"2011-08-18T07:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2011\/08\/18\/why-does-ifileoperation-skip-junctions-even-though-i-passed-fofx_noskipjunctions\/"},"modified":"2011-08-18T07:00:00","modified_gmt":"2011-08-18T07:00:00","slug":"why-does-ifileoperation-skip-junctions-even-though-i-passed-fofx_noskipjunctions","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20110818-00\/?p=9873","title":{"rendered":"Why does IFileOperation skip junctions even though I passed FOFX_NOSKIPJUNCTIONS?"},"content":{"rendered":"<p>The <code>IFile&shy;Operation::Set&shy;Operation&shy;Flags<\/code> method accepts a number of flags to modify the file operation, among them today&#8217;s subject <code>FOFX_NO&shy;SKIP&shy;JUNCTIONS<\/code>. A customer reported that they couldn&#8217;t get this flag to work: Whether they set it or not, the <code>IFile&shy;Operation<\/code> skipped over <a href=\"http:\/\/technet.microsoft.com\/en-us\/magazine\/ee851567.aspx\"> file system junctions<\/a>.\n The term <i>junction<\/i> evolved two independent different meanings. The shell team invented the term <i>shell namespace junction<\/i> in Windows&nbsp;95 to refer to a point in the shell namespace <a href=\"http:\/\/msdn.microsoft.com\/cc144096.aspx\"> in which one type of namespace extension is grafted into another<\/a>. For example, a directory of the form <code>name.{guid}<\/code> serves as the transition point between the default file system namespace and a custom namespace.\n Meanwhile, the file system team developed the term <i>NTFS junction point<\/i> to refer to a directory entry which links to another location.\n If you just hear the word <i>junction<\/i> by itself, you need to use context to determine whether it is short for <i>shell namespace junction<\/i> or <i>NTFS junction point<\/i>.<\/p>\n<p> Since <code>IFile&shy;Operation::Set&shy;Operation&shy;Flags<\/code> is a shell interface, the shell interpretation is more likely (and is the correct one in this case). The <code>FOFX_NO&shy;SKIP&shy;JUNCTIONS<\/code> flag has no effect on the behavior of the <code>IFile&shy;Operation<\/code> interface on NTFS junction points; it modifies the behavior on shell namespace junctions. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The IFile&shy;Operation::Set&shy;Operation&shy;Flags method accepts a number of flags to modify the file operation, among them today&#8217;s subject FOFX_NO&shy;SKIP&shy;JUNCTIONS. A customer reported that they couldn&#8217;t get this flag to work: Whether they set it or not, the IFile&shy;Operation skipped over file system junctions. The term junction evolved two independent different meanings. The shell team invented the [&hellip;]<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-9873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-other"],"acf":[],"blog_post_summary":"<p>The IFile&shy;Operation::Set&shy;Operation&shy;Flags method accepts a number of flags to modify the file operation, among them today&#8217;s subject FOFX_NO&shy;SKIP&shy;JUNCTIONS. A customer reported that they couldn&#8217;t get this flag to work: Whether they set it or not, the IFile&shy;Operation skipped over file system junctions. The term junction evolved two independent different meanings. The shell team invented the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/9873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=9873"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/9873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=9873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=9873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=9873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}