2013-10-10 2 views
1

나는 this을 읽고 있습니다. 여기에 몇 가지 코드 줄을 찾았습니다. 예를 들면 다음과 같습니다. wsprintf(szDrive, "\\\\.\\%c:", *lpszSrc); 나는이 문자열이 무엇을 제공할까요? 이 문자열의 의미 \. c :

나는 정보를 찾기 위해 시도했지만 내가 찾은 모든입니다 :이 함수의 ANSI 버전에서

는, 이름이 문자를 MAX_PATH로 제한됩니다. 이 제한을 32,767 와이드 문자로 확장하려면 유니 코드 버전의 함수를 호출하고 경로 앞에 "\\?\"을 붙입니다. 에 대한 자세한 내용은 파일, 경로 및 네임 스페이스 이름 지정을 참조하십시오.

이것은 내 질문에 답하지 않으므로 여기에서 묻습니다. 나는 그것이 특정 또는 NTFS로 연결되어야한다고 생각하지만 확실하지는 않습니다.

답변

3

%cwsprintf에 대한 단일 문자 형식 지정자입니다.

코드는이 양식의 경로 이름을 생성하는 데 사용됩니다 :

\\.\C: 

이 물리적 볼륨의 경로입니다. 파일 시스템을 우회하여 볼륨에서 파일 조작을 직접 수행 할 때 이러한 경로를 사용합니다. 예를 들어 원본 디스크 복사를 구현할 때 이러한 경로를 사용하게됩니다. CreateFile의 설명서에 대한 자세한 내용이 있습니다.

이 모든 것이 실제로 발견 된 코드가 원시 디스크 복사본을 수행한다는 사실과 관련되어 있습니다.

+0

오, 당신이 그걸 알고 있다고 생각했습니다. '% c'는'wsprintf'의 형식 지정자 일뿐입니다. –

+0

원시 파일에'C : \ file.txt' 파일을 열려면'\\. \ C : C : \ file.txt' 경로로 열어야하고' \\. \ C :'. 또는 \\. \ C \ file.txt를 써야합니다. – ST3

+0

\\. \ C :는 ** 볼륨에 액세스하기위한 것입니다 ** 그렇게하면 원시 디스크 섹터에 액세스 할 수 있습니다. 파일에 액세스하려면 파일 이름을 사용하고 원시 디스크 액세스는 사용할 수 없습니다. –