为了方便管理,我想完成下面功能,即讲e,f,g盘都在d盘中做映射,但不想用共享方式,windows有个方法可以实现,即磁盘管理中可以操作,但我想在程序中自动实现,请我有人知道吧(添加驱动器号或路径),最好能有源码,有Api也行,请多帮忙,分不够可以提

解决方案 »

  1.   

    用“软连接”的方式,把一个路径映射到一个NTFS卷的目录上,参考FSCTL_SET_REPARSE_POINT。
      

  2.   

    试试这个方法:
    char cTargetPath[MAX_PATH];
    char cTargetDrv[2]="D:"
    int iDiskNo=1;
    int iPartNo=1; sprintf(cTargetPath, "\\device\\harddisk%d\\partition%d", iDiskNo, iPartNo);
    boolRet = DefineDosDevice(DDD_RAW_TARGET_PATH, cTargetDrv, cTargetPath);

    if (boolRet == FALSE) {

    printf("DefineDosDevice() fail. Error status = %d\n", GetLastError());

    return -8;
    }
      

  3.   

    不行,bool boolRet = DefineDosDevice(0,   "d$",   "E:\\share1\\") ;bool boolRet = DefineDosDevice(0,   "d:",   "E:\\share1\\") ;都失败
      

  4.   

    DefineDosDevice是虚拟驱动器,不是你要的。
      

  5.   

    你可以使用SUBST命令
    subst driver: path如:subst Z: C:\Windows这样就可以把你的 C:\Windows 映射到 Z盘
      

  6.   

    多谢你们回答,subst这个方法是不行的,我需要的是将盘或者目录映射成目录而不上影响成盘,这是有区别的,这个方法我看过,没用