いくつかの機能を追加したいFastCopyのコードを見ています。
内部的には、FastCopyはパスの\\?\
前にパスを格納しているようです。例えば。\\?\c:\Program Files\Adobe
。DeleteFile
これらのパスは、、などのWindows API関数に直接渡されるRemoveDirectory
ため、Windowsは形式を理解しているようです。
しかし、これらの余分な文字は何を意味し、なぜFastCopyはそれらをそのように保存するのですか?
いくつかの機能を追加したいFastCopyのコードを見ています。
内部的には、FastCopyはパスの\\?\
前にパスを格納しているようです。例えば。\\?\c:\Program Files\Adobe
。DeleteFile
これらのパスは、、などのWindows API関数に直接渡されるRemoveDirectory
ため、Windowsは形式を理解しているようです。
しかし、これらの余分な文字は何を意味し、なぜFastCopyはそれらをそのように保存するのですか?
FastCopyにおそらく最も関連するのは、256文字を超える長さのファイル名で作業できることです。
\\server\file
メモリが機能する場合、Windowsがファイル名を解析して共有ファイルへのアクセスなどを探すこともできなくなります(ただし、引き続き使用できます\\?\UNC\whatever
)が、ここで実際に意図されている/関連しているものではない可能性があります。
あなたは長いUNCパスを参照しています:https ://en.wikipedia.org/wiki/Path_%28computing%29お役に立てば幸いです。
一般的に、これは長いファイル名(最大約32Kの長さの名前)をサポートしていることを意味します。
UNCパスを指定するためにも使用できます(例:\\?\ UNC \ server \ share)。
そのサポートがないと、Fastcopyはすべてのファイルに正しくアクセスできません。
詳細については、http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v = vs.85).aspxをご覧ください。