winter
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2013-08-15
  • 粉丝4
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1901回复:5

有实际的设备名有什么不好?

楼主#
更多 发布于:2001-06-21 15:38
WDM设备驱动程序开发指南》中的驱动程序例子都没有设备名,为什么?
谢谢

最新喜欢:

mapoflmapofl
请原谅我的无知与直率
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-30 15:43
安全问题。FDO没法由系统管理员指定打开时访问权限,而PDO就可以。当你命名一个设备时,打开的对象为FDO,通常给于的权限为ALL ACCESS,而且你不能修改(当然了,存储设备由点不一样)。而使用INTERFACE来命名一个设备,打开的对象为PDO,你可以控制该对象的属性。

而且,使用INTERFACE GUID的方法,命名是语言无关的。
“萎软”,是Microsoft的小名!
Badwood
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-07-03 10:22
FDO与PDO有何异同?
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-07-03 11:10
在WDM中,每个设备最少需要两个DEVICE OBJECT一个是PDO,管理该设备和计算机的连接(电源的开与关、处理总线的协议),它对应着BUS DRVIER;另一个是FDO,即FUNCTION DEVICE OBJECT,对应者我们通常理解的那个驱动程序――即FUNCTION DRIVER。
如果你用名字打开一个设备时,是打开PDO还是FDO都不重要,因为你随后发的IRP_MJ_READ、IRP_MJ_WRITE等FDO DRIVER都能看到。
当你不给你的设备名字,而是给它一个接口时,你在打开设备时,实际上时打开的PDO,同时,只有PDO的安全(存取)属性时用户可以控制的。所以,你如果要从APPLICATION中访问设备,最好给它一个接口。

PDO、FDO是内核用来管理设备的数据结构。
如果你知道面向对象的话,就很容易理解这种管理方法,在NT中有一个OBJECT MANAGER就是来统一管理这些对象的。
“萎软”,是Microsoft的小名!
dspboy
驱动牛犊
驱动牛犊
  • 注册日期2001-06-09
  • 最后登录2001-12-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-07-07 15:56
我现在做一个USB驱动程序,其中AddDevice部分就是用的命名设备,然后用symbollink创建一个对外部程序可见的名字。
看了你帖子中的“……命名是语言无关的”,我想请问一下,这怎么理解?
另外,我的这个驱动程序好像是只认Intel的主板,问题可能出在哪里呢?
走进城市的狼,乐观执着的狼。
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-07-07 16:31
就是说,使用接口和接口的描述符(就是GUID),就不用发愁给自己的设备取个什么动听的名字了。这些在WALTONEY的书上写的很详细。应该多看看,如果不熟,就多看几遍。我就已经看了6遍了,虽然很多东西都还没有弄懂,但我发现每看一遍都会有很多的收获,对以前的不明白的东西都会有进一步的理解。怪不的别人说,看书不在乎多,而在乎精。我想,对于WDM来说,看看WALTONEY再加上WIN2KDDK Documentation就行了,剩下的就是看实例和动手了。
另外,我对硬件目前可以说一无所知,倒是很想得到你们有实战经验的人指点指点,SORRY。
“萎软”,是Microsoft的小名!
游客

返回顶部