hanzp
驱动牛犊
驱动牛犊
  • 注册日期2003-05-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1170回复:2

如何在“我的电脑”中生成一个虚拟盘符?

楼主#
更多 发布于:2003-06-23 12:07
小弟刚学WDM,什么都不懂。

哪位大佬能指点我一下,最好能具体一点。
freducn2002
驱动小牛
驱动小牛
  • 注册日期2002-06-26
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望29点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-06-23 13:42
创建Z盘:
主要是利用IoCreateDevice
RtlInitUnicodeString(&SymbolicLinkName,L\"\\\\??\\\\Z:\");
//创建DEVICE OBJECT.有了DEVICE OBJECT.才能创建符号联接.
//创建符号联接,才使系统可见,系统可见,才使应用程序能进行
//各种操作,能使应用程序进行各种操作,DRIVER才真正有用...
 ntstatus=IoCreateDevice(
  DriverObject,
  0,
  &devname,
  FILE_DEVICE_UNKNOWN,
  0,
  1,
  &DeviceObject
  );
 if (!NT_SUCCESS(ntstatus)){
  return ntstatus;
 }
//IoCreateSymbolicLink用来创建系统可见的对象.
//要使系统可见.符号联接必须位于\\??\\下.老的NT
//用\\DosDevices\\.当然目前的NT也支持\\DosDevices\\
//格式.但\\DosDevices\\仅是\\??\\的一个符号联接.
ntstatus=IoCreateSymbolicLink(
  &SymbolicLinkName,
  &devname
  );
hanzp
驱动牛犊
驱动牛犊
  • 注册日期2003-05-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-23 18:04
 
 ntstatus=IoCreateDevice(
  DriverObject,
  0,
  &devname,
  FILE_DEVICE_UNKNOWN,
  0,
  1,
  &DeviceObject
  );

我在AddDevice()中写了类似的函数,我的devname是\"Device\\MyDisk\\Disk0\",但是用DevView查看找不到MyDisk的键,是怎么回事呢?
游客

返回顶部