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


    m_dir="";
        CHAR 
    *buf=new char[100];
        
    char drs[26];
        GetLogicalDriveStrings(
    50,buf);

        
    int i=0;
        
    while (*buf) {
            drs[i]
    =*buf;
            
    while(*buf!='\0')buf++;
            buf
    ++;
            i
    ++;
            
        }

        
    for (int j=0;j<i;j++)
        
    {
            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
    ={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);

    https://files.cnblogs.com/ahuo/DriversInfo.rar
  • 相关阅读:
    Linux 期中架构 PHP
    Linux 期中架构 MySQL
    Python 示例 饮水记录
    Linux 期中架构 inotify
    Linux期中架构 全网备份案例
    分布式存储系统Ceph部署过程 · Jayden's Blog
    Go语言汇编器的设计
    linux基础3
    6.2.2 多余的列另起一行
    linux网络设备驱动2
  • 原文地址:https://www.cnblogs.com/ahuo/p/954482.html
Copyright © 2020-2023  润新知