新微赢技术网

标题: 一点初学小问题,请大家指点 谢谢了(刚才的写错了,现在改了,抱歉啊) [打印本页]

作者: 毅歌    时间: 2009-11-3 02:27
标题: 一点初学小问题,请大家指点 谢谢了(刚才的写错了,现在改了,抱歉啊)
typedef struct _DRIVER_OBJECT
{
CSHORT Type;
CSHORT Size;
...
} DRIVER_OBJECT, *PDRIVER_OBJECT;


PDRIVER_OBJECT pdx = (PDEVICE_EXTENSION) fdo->DeviceExtension;

看到这句的时候,忽然不知道PDRIVER_OBJECT pdx是什么意思,翻书也还是不敢确定它的含义,哪位同学给解释一下把,是不是定义了一个结构体指针变量的意思啊,还是只是定义了一个指针变量呢,越学越不明白了


这是WDM驱动书上的,PDRIVER_OBJECT pdx,这算是定义了一个什么东西呢
作者: 一切还好    时间: 2009-11-3 02:27
估计是指针变量吧. p开头的
作者: 三弓厶    时间: 2009-11-3 02:27
谁会知道这是什么
没见过

不过楼上分析很有道理
作者: ぁ贪ā.翫?    时间: 2009-11-3 02:27
我是第一次见,不知道你是哪里弄来的!
作者: isly‖    时间: 2009-11-3 02:27

  1. typedef struct _DRIVER_OBJECT
  2. {
  3. CSHORT Type;
  4. CSHORT Size;
  5. ...
  6. } DRIVER_OBJECT, *PDRIVER_OBJECT;

  7. PDRIVER_OBJECT pdx = (PDEVICE_EXTENSION) fdo->DeviceExtension;

复制代码


DRIVER_OBJECT 等同于 struct _DRIVER_OBJECT
PDRIVER_OBJECT pdx 等同于 struct _DRIVER_OBJECT *pdx;
作者: →莲佳    时间: 2009-11-3 02:27
同意5楼
作者: 阿俊    时间: 2009-11-3 02:27
顶楼上的
作者: ωǒ↘倫↙    时间: 2009-11-3 02:27
谢谢大家指教,非常感谢
PDRIVER_OBJECT pdx = (PDEVICE_EXTENSION) fdo->DeviceExtension;
等于struct _DRIVER_OBJECT *pdx=(PDEVICE_EXTENSION) fdo->DeviceExtension;

也就是说把DeviceExtension的地址赐给PDX,这样的理解对了把




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2