windows, C++, mfc에서 프로그래밍 중 "c : \"와 같은 경로로 디스크의 형식을 어떻게 알 수 있습니까? Windows에서 이러한 API를 제공합니까?특정 디스크의 형식을 알아 보는 방법 (FAT32 또는 NTFS)
4
A
답변
11
Win32API 함수 :: GetVolumeInformation은 사용자가 찾고있는 것입니다. MSDN에서
:
BOOL WINAPI GetVolumeInformation(
__in_opt LPCTSTR lpRootPathName,
__out LPTSTR lpVolumeNameBuffer,
__in DWORD nVolumeNameSize,
__out_opt LPDWORD lpVolumeSerialNumber,
__out_opt LPDWORD lpMaximumComponentLength,
__out_opt LPDWORD lpFileSystemFlags,
__out LPTSTR lpFileSystemNameBuffer, // Here
__in DWORD nFileSystemNameSize
);
예 :
TCHAR fs [MAX_PATH+1];
::GetVolumeInformation(_T("C:\\"), NULL, 0, NULL, NULL, NULL, &fs, MAX_PATH+1);
// Result is in (TCHAR*) fs
2
GetVolumeInformation는 당신이 필요로하는 무엇을 제공 할 것입니다. lpFileSystemNameBuffer에 드라이브 형식의 이름을 반환합니다.
멋진 랩퍼가 필요하면 Microsoft의 CVolumeMaster을 참조하십시오.
1
WMI의 Win32_LogicalDisk 클래스에는 해당 정보를 제공하는 FileSystem 속성이 있습니다.
3
예 GetVolumeInformation입니다. 볼륨이 암호화/압축/하드 링크 등을 확실 볼륨이 특정 기능을 지원하는지 확인해야하는 경우 그 플래그가 아닌 파일 시스템의 이름을 사용해야을 지원하는 경우
TCHAR szVolumeName[100] = "";
TCHAR szFileSystemName[10] = "";
DWORD dwSerialNumber = 0;
DWORD dwMaxFileNameLength = 0;
DWORD dwFileSystemFlags = 0;
if(::GetVolumeInformation("c:\\",
szVolumeName,
sizeof(szVolumeName),
&dwSerialNumber,
&dwMaxFileNameLength,
&dwFileSystemFlags,
szFileSystemName,
sizeof(szFileSystemName)) == TRUE)
{
cout << "Volume name = " << szVolumeName << endl
<< "Serial number = " << dwSerialNumber << endl
<< "Max. filename length = " << dwMaxFileNameLength
<< endl
<< "File system flags = $" << hex << dwFileSystemFlags
<< endl
<< "File system name = " << szFileSystemName << endl;
}
관련 문제
- 1. 설치가 완료되면 알아 보는 방법
- 2. 특정 Android 휴대 전화의 색상을 알아 보는 방법
- 3. 모델이 Rake에서 사용되는지 알아 보는 방법?
- 4. StatusBar 크기가 변경된시기를 알아 보는 방법 (iPhone)
- 5. 누가 애플리케이션을 해지했는지 알아 보는 방법? 스케줄러 또는 사용자 수동으로?
- 6. 보안 또는 침투 테스트 적용 범위를 알아 보는 방법
- 7. 데이터가 URL에 있는지 알아 보는 방법
- 8. iOS : 메일 계정이 있는지 알아 보는 방법
- 9. 관계에있는 객체가 데이터베이스에 있는지 알아 보는 방법
- 10. php에서 링크가 클릭 된시기를 알아 보는 방법
- 11. 어떤 양식이 상단에 있는지 알아 보는 방법?
- 12. 전화가 잠금 상태인지 여부를 알아 보는 방법
- 13. RequestWrapper 오브젝트에서 요청이 전달되는시기를 알아 보는 방법
- 14. 토큰화할 마지막 이유가 무엇인지 알아 보는 방법
- 15. emacs 서버가 실행 중인지 알아 보는 방법
- 16. 서블릿에서 파일 경로를 알아 보는 방법
- 17. 특정 디스크의 파일 열기
- 18. 내 프로세서가 C 또는 32 비트인지 알아 보는 방법은 무엇입니까?
- 19. 사용자가 만든 캘린더 일정 시작시기를 알아 보는 방법 [Rails]
- 20. C#에서 문자열을 DateTime으로 변환하는 데 사용되는 날짜 시간 형식을 알아 보는 방법
- 21. NTFS 드라이브에서 인덱싱하는 방법
- 22. 누가 SVN에서 저장소를 체크 아웃했는지 알아 보는 방법
- 23. 두 URL이 같은 페이지로 연결되는지 알아 보는 방법
- 24. 현재 어떤 오브젝트에 포커스가 있는지 알아 보는 방법
- 25. NSString이 주어진 경우 Obj-C에 메서드가 있는지 알아 보는 방법
- 26. 어떤 프로세스/서비스가 네트워크 연결을 시작하는지 알아 보는 방법
- 27. Clearcase : 심볼릭 링크 대상에 적용된 레이블을 알아 보는 방법
- 28. SharePoint : 웹 서비스의 호스트 SPSite의 URL을 알아 보는 방법
- 29. 어떤 자바 스크립트 라이브러리가 소유하고 있는지 알아 보는 방법 $
- 30. 사용자가 설정 번들을 변경 한시기를 알아 보는 방법
GetVolumeInformation()는 당신을 말할 수 있습니다. (NTFS/FAT *가 윈도우즈의 유일한 파일 시스템이 아니라는 것을 기억하십시오. – Anders