MSDN에 보면 GetVolumeInformation라는 함수를 찾아 볼수 있다.
함수는 아래와 같이 생겼다.
BOOL WINAPI GetVolumeInformation( _In_opt_ LPCTSTR lpRootPathName, _Out_opt_ LPTSTR lpVolumeNameBuffer, _In_ DWORD nVolumeNameSize, _Out_opt_ LPDWORD lpVolumeSerialNumber, _Out_opt_ LPDWORD lpMaximumComponentLength, _Out_opt_ LPDWORD lpFileSystemFlags, _Out_opt_ LPTSTR lpFileSystemNameBuffer, _In_ DWORD nFileSystemNameSize );
자세한 설명은 아래 MSDN 페이지를 참고하면 된다.
사용 예제는 아래를 참고하면 된다.
#include <atlstr.h>
#include <iostream>
using std::wcout;
using std::endl;
int _tmain(int argc, _TCHAR* argv[])
{
_TCHAR
buffer[256] = { 0, };
CString
DrivePathName;
int n = 0;
_TCHAR
DriveName[100];
_TCHAR
FileSystem[100];
LPCTSTR drivename;
GetLogicalDriveStrings(256, buffer);
DWORD
lVolumnSerialNumber;
while (buffer[n] != NULL)
{
for (int i = 0; i < sizeof(*(buffer + n)); i++)
{
DrivePathName = buffer + n;
n += 4;
ZeroMemory(DriveName, sizeof(DriveName));
ZeroMemory(FileSystem, sizeof(FileSystem));
ZeroMemory(&drivename, sizeof(drivename));
GetVolumeInformation(DrivePathName, DriveName,
1024,
&lVolumnSerialNumber, NULL, NULL, FileSystem, 1024);
wcout << "Path : " << DrivePathName.GetBuffer() << endl;
wcout << "DriverName : " << DriveName << endl;
wcout << "FileSystem : " << FileSystem << endl;
wcout << "Volumn Serial Number : ";
printf("%X\n\n", lVolumnSerialNumber);
}
}
return 0;
}
|
참고로 Unicode로 Project를 만들어서 wcout 를 사용하였다.
댓글 없음:
댓글 쓰기