guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1550回复:4

怎么取得别的没有名字的设备对象?

楼主#
更多 发布于:2001-08-11 15:35
请问在WINDOWS 2000下怎么取得一些设备对象的地址?我曾经试过,可是取得的都不是真正的地址,返回给我的是经过系统处理的设备对象地址,请看一下WINOBJ这个程序或DDK的OBJDIR程序,这些显示设备对象和驱动程序对象的部分是怎么做的呢?它是怎么取得那些驱动程序的对象的呢?
dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-15 09:57
try
WINBASEAPI
DWORD
WINAPI
QueryDosDeviceA(
    LPCSTR lpDeviceName,
    LPSTR lpTargetPath,
    DWORD ucchMax
    );

请问你是怎么做的?
用她就能得到你想要的,所得出的结果与用winobj.exe的到的结果一致!能得到设备的dosdevicename 和devicename.
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-16 18:45
没有名字的对象需要通过历遍OBJECT MANAGER的对象树完成. 但是
OBJECT MANAGER的对象树到目前为止属于禁区. 没有几个人探索过.
即使历遍OBJECT MANAGER的对象树,有些对象仍然无法获得. 例如,
在DRIVER内部的KEVENT对象等. 因为它们没有通过OBJECT MANAGER生成.
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
ppl
ppl
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2006-05-21
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-16 19:08
 一个方法是这样的:
   得到一个关于driver_object的指针,然后用
 driver_object->DeviceObject来得到一个有这个驱动
 创建的device的链
  

      
 
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-24 13:48
请问怎么历遍对象树呢?还有它的具体地址呢?
游客

返回顶部