title: Are Windows filesystem paths using the volume GUID invalid without the long path prefix?
body: <p>As quoted from the win32 docs <a href="https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-volume" rel="nofollow noreferrer">here</a>:</p>
  <blockquote>
  <p>You must specify full paths when using volume GUID paths with the &quot;\\?\&quot; prefix.</p>
  </blockquote>
  <p>Now, we have had a bit of a discussion about this in my team over whether this means that volume GUID paths cannot be used without the prefix, or that when using &quot;full&quot; (long?) paths with volume GUIDs, you should use the prefix to do so.</p>
  <p>The second interpretation seems to be incorrect, as using any of the Windows API will only succeed with the prefix before the guid.</p>
  <p>For example:</p>
  <pre><code>    std::wstring path = L&quot;\\\\?\\Volume{fe31c178-7b35-4b43-9899-1dcd701d938a}\\Test\\&quot;;
  
      bool success = CreateDirectoryW(path.c_str(), NULL);
  </code></pre>
  <p><code>success</code> will only be <code>true</code> if the <code>\\?\</code> prefix is in <code>path</code>.</p>
  <p>Our issue comes in using a third-party File Driver that is giving us paths without that prefix. If it is explicitly invalid to use volume GUID paths without this prefix, then I would like to be letting them know of this bug. Otherwise we'll just handle the case on our end.</p>