Application/MFC
[MFC] 볼륨으로 디스크 번호 가져오기 (Get Volume Disk Number)
devsalix
2023. 3. 21. 15:34
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
반응형