{"id":323,"date":"2014-08-06T07:00:00","date_gmt":"2014-08-06T07:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2014\/08\/06\/why-does-explorer-say-file-too-large-for-my-custom-file-system-when-the-problem-has-nothing-to-do-with-the-file-being-too-large-heck-its-not-even-a-file\/"},"modified":"2014-08-06T07:00:00","modified_gmt":"2014-08-06T07:00:00","slug":"why-does-explorer-say-file-too-large-for-my-custom-file-system-when-the-problem-has-nothing-to-do-with-the-file-being-too-large-heck-its-not-even-a-file","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20140806-00\/?p=323","title":{"rendered":"Why does Explorer say &#034;File too large&#034; for my custom file system, when the problem has nothing to do with the file being too large (heck it&#039;s not even a file)"},"content":{"rendered":"<p>When Explorer copies files around, it doesn&#8217;t really know what the maximum file size supported by any file system happens to be. (That information is not reported by <code>Get&shy;Volume&shy;Information<\/code>.) So it guesses.\n If the file system name is <code>\"FAT\"<\/code> or <code>\"FAT32\"<\/code>, then Explorer assumes that the maximum file size is 4<a href=\"http:\/\/blogs.msdn.com\/b\/oldnewthing\/archive\/2009\/06\/11\/9725386.aspx\">GB<\/a> &minus; 1.\n Also, if a file operation fails with the error <code>ERROR_INVALID_PARAMETER<\/code>, and Explorer can&#8217;t figure out why the parameter is invalid, it assumes that the reason is that the file has exceeded the maximum allowed file size.\n Why does Explorer map &#8220;invalid parameter&#8221; to &#8220;file size too large&#8221;? Because some file systems use <code>ERROR_INVALID_PARAMETER<\/code> to report that a file is too large instead of the somewhat more obvious <code>ERROR_FILE_TOO_LARGE<\/code>.<\/p>\n<p> Therefore, if you&#8217;re implementing a file system, and you&#8217;re getting these spurious &#8220;File too large&#8221; errors, one thing to check is whether you are reporting &#8220;invalid parameter&#8221; for a case where all the parameters are actually valid, but something else prevents you from doing what you want. (Maybe &#8220;access denied&#8221; would be a better error code.) <\/p>\n","protected":false},"excerpt":{"rendered":"<p>When Explorer copies files around, it doesn&#8217;t really know what the maximum file size supported by any file system happens to be. (That information is not reported by Get&shy;Volume&shy;Information.) So it guesses. If the file system name is &#8220;FAT&#8221; or &#8220;FAT32&#8221;, then Explorer assumes that the maximum file size is 4GB &minus; 1. Also, if [&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":[25],"class_list":["post-323","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-code"],"acf":[],"blog_post_summary":"<p>When Explorer copies files around, it doesn&#8217;t really know what the maximum file size supported by any file system happens to be. (That information is not reported by Get&shy;Volume&shy;Information.) So it guesses. If the file system name is &#8220;FAT&#8221; or &#8220;FAT32&#8221;, then Explorer assumes that the maximum file size is 4GB &minus; 1. Also, if [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/323","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=323"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/323\/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=323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}