ryan_qian
驱动牛犊
驱动牛犊
  • 注册日期2009-11-13
  • 最后登录2013-11-25
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望41点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1482回复:1

新手请教设备命名问题

楼主#
更多 发布于:2012-09-26 18:55
小弟刚开始学习驱动,在看windows驱动开发技术详解,有个疑问:在NT驱动创建设备时如果设定固定的设备名以及创建了符号链接,一个驱动对象可以同时拥有对个设备对象,那在创建了多个设备对象时,是否会有设备名和符号链接的的冲突,希望大牛们解答疑惑,感激不尽

UNICODE_STRING devName;
 RtlInitUnicodeString(&devName,L"\\ Device\\NtSample");
 //创建设备
 status = IoCreateDevice(
        pDriverObject,                 //DriverObject
        sizeof(DEVICE_EXTENSION),     //DeviceExtensionSize
        &devName,                     //DeviceName
        FILE_DEVICE_UNKNOWN,          //DeviceType
        0,                            //DeviceCharacteristics
        FALSE,                         //Exclusive
        &pDevObj);                    //DeviceObject
 if(!NT_SUCCESS(status))
 {
  KdPrint(("Device create fail!\n"));
  return status;
 }
 //设置设备相关信息和扩展信息
 pDevObj->Flags|=DO_BUFFERED_IO;
 pDevExt=(PDEVICE_EXTENSION)pDevObj->DeviceExtension;
 pDevExt->pDevice=pDevObj;
 pDevExt->ustrDevName=devName;
 //创建符号链接
 UNICODE_STRING SymLinkName;
 RtlInitUnicodeString(&SymLinkName,L “\\??\\NtDriverSample”);
 pDevExt->ustrSymLinkName=SymLinkName;
 status=IoCreateSymbolicLink(&SymLinkName,&devName);
leonardo1019
驱动牛犊
驱动牛犊
  • 注册日期2010-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2013-03-08 15:31
应该会有吧,猜想的。
游客

返回顶部