求助用DefineDosDevice创建虚拟磁盘,无法获取句柄

2024-11-24 01:25:29
推荐回答(2个)
回答1:

当我用双击方式打开后新建虚拟机,它会提示:无法打开虚拟机: E:\VMware\Windows XP Professional (2).vmx。常规错误。当我以管理员身份运行时,新建虚拟机后会显示:无法打开虚拟机: E:\VMware\Windows XP Professional (2).vmx。系统返回一个错误。与虚拟机的通信可能已中断。某一次用管理员身份运行时出现:无法打开磁盘 E:\VMware\Windows XP Professional (2).vmdk 或者某一个快照所依赖的磁盘原因: 句柄无效。我感觉是有创建好虚拟机的,只是不让打开!还有,很奇怪的是,安装虚拟机的那个文件夹特殊地在要删除,重命名,创建新文件夹前出现了WIN7那个管理员身份运行的盾牌!

回答2:

盘U实际是一个文件夹, CreateFile 打开文件夹加上 FILE_FLAG_BACKUP_SEMANTICS 选项
C/C++ code

pFileName = "\\.\P:";
device = CreateFileA(
pFileName,
GENERIC_READ,
FILE_SHARE_WRITE | FILE_SHARE_READ ,
NULL,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS,
NULL
);