CreateFile 访问磁盘失败,错误代码5,拒绝访问

topplayers 2009-07-04 03:26:39
CreateFile(
L"d:",
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_FLAG_NO_BUFFERING,
NULL);

关了UAC,并且使用管理员权限也没用
这个是什么原因,真的一点机会都不给?
...全文
847 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Haha100001 2012-09-20
  • 打赏
  • 举报
回复
应该是"\\\\.\\D:",斜杠需要转义
蒋晟 2009-07-05
  • 打赏
  • 举报
回复
写入根目录需要程序以管理员身份运行
hackwolfoscar 2009-07-04
  • 打赏
  • 举报
回复
HANDLE hfile=CreateFile("\\\\.\\D:",GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_NO_BUFFERING,
NULL);

打开设备
贪玩的老鼠 2009-07-04
  • 打赏
  • 举报
回复
HANDLE hfile=CreateFile("\\\\.\\E:",GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_NO_BUFFERING,
NULL);
贪玩的老鼠 2009-07-04
  • 打赏
  • 举报
回复
不好意思,少写了一个\
应该是"\\.\\D"
arong1234 2009-07-04
  • 打赏
  • 举报
回复
如果你的时对的,那么至少要写成
"\\\\.\\D:"[Quote=引用 3 楼 txk1452 的回复:]
引用 2 楼 qimiao77 的回复:
你的第一个参数写错了,访问磁盘要使用"\\.\d" ,d代表盘符



同时要指定FILE_SHARE_READ|FILE_SHARE_WRITE,不然有其它程序写磁盘时会打开失败,如下

CreateFile(
"\\.\D:",
GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_NO_BUFFERING,
NULL);
[/Quote]
txk1452 2009-07-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qimiao77 的回复:]
你的第一个参数写错了,访问磁盘要使用"\\.\d" ,d代表盘符
[/Quote]

同时要指定FILE_SHARE_READ|FILE_SHARE_WRITE,不然有其它程序写磁盘时会打开失败,如下

CreateFile(
"\\.\D:",
GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_NO_BUFFERING,
NULL);
贪玩的老鼠 2009-07-04
  • 打赏
  • 举报
回复
你的第一个参数写错了,访问磁盘要使用"\\.\d" ,d代表盘符
Gothic_girl 2009-07-04
  • 打赏
  • 举报
回复
貌似返回5是因为权限不足或者资源已被占用

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧