c++ - 在vista中将文件夹挂载为驱动器

标签 c++ api

您好,我正在尝试在 vista 中安装为驱动器,我正在使用 msdn 示例中的以下代码,

     BOOL bFlag;
   TCHAR Buf[BUFSIZE];     // temporary buffer for volume name

   if( argc != 3 ) 
   {
      _tprintf( TEXT("Usage: %s <mount_point> <volume>\n"), argv[0] );
      _tprintf( TEXT("For example, \"%s c:\\mnt\\fdrive\\ f:\\\"\n"), argv[0]);
      return( -1 );
   }

  // We should do some error checking on the inputs. Make sure
  // there are colons and backslashes in the right places, etc. 

   bFlag = GetVolumeNameForVolumeMountPoint(
              argv[2], // input volume mount point or directory
                  Buf, // output volume name buffer
              BUFSIZE  // size of volume name buffer
           );

   if (bFlag != TRUE) 
   {
      _tprintf( TEXT("Retrieving volume name for %s failed.\n"), argv[2] );
      return (-2);
   }

   _tprintf( TEXT("Volume name of %s is %s\n"), argv[2], Buf );
   bFlag = SetVolumeMountPoint(
              argv[1], // mount point
                  Buf  // volume to be mounted
           );

   if (!bFlag)
     _tprintf (TEXT("Attempt to mount %s at %s failed.\n"), argv[2], argv[1]);

   return (bFlag);

总是报parameter is incorrect 的错误,我一开始也试过definedosdevice 然后取名字,也没用。知道如何让它发挥作用吗?

最佳答案

你需要更具体一点!您在代码中的确切位置出现了该错误?

您可以尝试通过 system() 执行以下命令,看看它是否可以这样工作:

subst K: “c:\blabla"

关于c++ - 在vista中将文件夹挂载为驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/477503/

相关文章:

c++ - vptr 是如何在编译时初始化的?

c++ - 使用 C++ 将二进制文件从 istream 复制到 ostream 并不总是正确的

C++:Boost:托管共享内存是否需要信号量锁?

c++ - 如何以编程方式更改 RDP 登录名/密码?

ruby-on-rails - 我如何在 curb 中指定 SSL 版本

javascript - 如何向 HTML 页面公开 Processing.js 函数?

javascript - 根据当前日期对象设置时间间隔(javascript)

c++ - OpenCL 内存带宽/合并

api - 具有 API key 和 JWT token 的 Net Core API

javascript - 使用通知 API 时如何向通知添加 URL?