danran
驱动牛犊
驱动牛犊
  • 注册日期2012-10-29
  • 最后登录2012-11-12
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1126回复:0

求教关于动态内存的使用

楼主#
更多 发布于:2012-10-29 17:20
代码如下:

#pragma INITCODE
NTSTATUS CreateDevice(IN PDRIVER_OBJECT pDriverObject)
{
    //创建设备名称
    UNICODE_STRING devName;
    RtlInitUnicodeString(&devName,L"\\Device\\MyFileDevice");//这里据我了解是初始化局部内存,然后#pragma INITCODE会因为这段卸载局部内存。IoCreateDevice书上都是这么写,那就是正常工作,但我新手,如果遇到别的函数如何区别下呢。。。
    
    //创建设备
    status = IoCreateDevice(pDriverObject,sizeof(DEVICE_EXTENSION),&devName,
                            FILE_DEVICE_UNKNOWN,
                            0,TRUE,
                            &pDevObj);


    
         ......


         pDevExt = (PDEVICE_EXTENSION)pDevObj->DeviceExtension;
      pDevExt->pDevice = pDevObj;
    pDevExt->ustrDeviceName = devName;

    //创建符号链接
    UNICODE_STRING symLinkName;
    RtlInitUnicodeString(&symLinkName,L"\\??\\HelloDDK");
    //这里是局部内存,一会儿难道不会释放吗?
    pDevExt->ustrSymLinkName = symLinkName;

我看的是张帆的<<Windows驱动开发技术详解>>求大神指导。。。
游客

返回顶部