aasa2
驱动中牛
驱动中牛
  • 注册日期2004-04-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分525分
  • 威望339点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
阅读:1557回复:5

如何获得文件的handle?

楼主#
更多 发布于:2005-03-31 16:51
在文件驱动驱动中如何根据文件的object获得文件的handle呀?
技术交流:aasa2@21cn.com QQ群:10863699
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-01 09:44
老大,帮你顶一下。
btw,object和handle有什么区别?不要骂我菜 :)
[b]万水千山总是情,回个帖子行不行?[/b]
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2005-04-01 09:54
在kernel,handle是一个32位无符号数.
object 是一个结构,包括各种信息。
windows内部的所谓对象大部分是一个数据结构,并不是一个真正的对象。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-01 12:27
明白了。 :)
[b]万水千山总是情,回个帖子行不行?[/b]
ciomhan
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2010-07-27
  • 粉丝0
  • 关注0
  • 积分244分
  • 威望75点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-01 15:24
A CCB is simply a handle or context created and maintained
by the fsd to represent an open instance of an on-disk object. for example: when a user application performs an open operation on a file , It receives a handle from the operation system if the open request was successful. corresponding to this handle ,a windows FSD creates a CCB structure which is simply the kernel equivalent of the user handle.
这一段是<<windows nt file system internals>>第九章的一段话,不知道你所说的handle与这里描述的handle是否是同一个东西.我也是做fsd,我并没有遇到在fsd中寻找handle的,而且象ms ddk提供的cdfs,fastfat等source code中也没见有handle这个东西,handle本身应该只出现在user mode才对.

-------------------------------------
harmony soul!
-------------------------------------
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
5楼#
发布于:2005-04-01 21:58
NTSTATUS
ObOpenObjectByPointer (
    IN PVOID Object,
    IN ULONG HandleAttributes,
    IN PACCESS_STATE PassedAccessState OPTIONAL,
    IN ACCESS_MASK DesiredAccess,
    IN POBJECT_TYPE ObjectType,
    IN KPROCESSOR_MODE AccessMode,
    OUT PHANDLE Handle
    )
游客

返回顶部