728x90
볼륨의 디스크 번호를 가져오려면
아래와 같이 코드를 작성하면 됩니다
#include <winioctl.h>
int GetVolumDiskNumber(WCHAR cVolume)
{
CString strVolume;
strVolume.Format(_T("\\\\.\\%c:"), cVolume);
HANDLE hVolume = CreateFile(
strVolume,
0,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
if(hVolume == INVALID_HANDLE_VALUE)
{
return -1;
}
VOLUME_DISK_EXTENTS vde;
DWORD dwRet;
if(DeviceIoControl(hVolume, IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, NULL, 0, &vde, sizeof(vde), &dwRet, NULL))
{
CloseHandle(hVolume);
return (int)vde.Extents[0].DiskNumber;
}
CloseHandle(hVolume);
return -1;
}
제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀
728x90
반응형
'Application > MFC' 카테고리의 다른 글
[MFC] ReverseMemcpy 메모리값 반전 (0) | 2023.04.17 |
---|---|
[MFC] 디스크 Offline / Online (0) | 2023.03.22 |
[MFC] WriteFile & ReadFile & OVERLAPPED 사용 방법 (0) | 2023.03.17 |
[MFC] Static 글자 색 및 배경 색 변경 (0) | 2023.03.14 |
[MFC] CMD로 명령어 실행 하기 (0) | 2023.03.13 |