0
点赞
收藏
分享

微信扫一扫

识别分区属于哪个硬件设备

雷亚荣 2022-05-20 阅读 64


m_dir="";

    CHAR *buf=new char[100];

    char drs[26];

    GetLogicalDriveStrings(50,buf);

    int i=0;

    while (*buf) 识别分区属于哪个硬件设备_i++{

        drs[i]=*buf;

        while(*buf!='\0')buf++;

        buf++;

        i++;

        

    }

    for (int j=0;j<i;j++)

    识别分区属于哪个硬件设备_i++{

        CString path;

        path.Format("\\\\.\\%c:",drs[j]);

        HANDLE hdev= CreateFile(path,GENERIC_READ |  GENERIC_WRITE,

            FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,

            OPEN_EXISTING,

            0,0);

        int er=GetLastError();

        VOLUME_DISK_EXTENTS st=识别分区属于哪个硬件设备_i++{0};

        DWORD outsize;

        DeviceIoControl(hdev,

            IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS,

            NULL,0,

            &st,sizeof(VOLUME_DISK_EXTENTS),&outsize,NULL);

        

        

        CString num;

        num.Format("%c [%d] %d\r\n",drs[j],st.Extents[0].DiskNumber,st.NumberOfDiskExtents);

        m_dir=m_dir+num;

    }

    UpdateData(false);






举报

相关推荐

0 条评论