2011-04-14 2 views
1

SHCreateItemFromParsingName을 사용하여 한 볼륨에서 다른 볼륨으로 폴더를 이동합니다. 하나의 볼륨 경로가 "\? \"로 시작하고 SHCreateItemFromParsingName이 함께 작동하지 않습니다.SHCreateItemFromParsingName은 "\? "로 시작하는 경로를 사용할 수 없습니다.

의도적으로 설계된 것입니까? 또는 나는 그것이 작동하게하기 위해 무엇인가 놓친다?

MoveFileEx는 볼륨 내부의 디렉토리 이동에만 사용되며 CopyFileEx는 파일 (디렉토리가 아님) 복사에서만 작동하므로 쉘 객체의 MoveItem이 폴더 교차 볼륨을 이동하는 유일한 방법입니다. 하지만 지금은 "\? \"로 막혀 있습니다. 어떤 도움을 주셔서 감사합니다!

답변

0

"\? \"은 (특히 .Net에서) 많은 파일 API에서 문제가됩니다. FindFile, CreateDirectory 및 MoveFile을 사용하여 파일을 재귀 적으로 이동할 수 있습니다. 이러한 Win32 함수는 "\? \"로 시작하는 파일 경로를 사용합니다.

체크 아웃 pinvoke : FindFirstFile

관련 문제