sqpcd
驱动牛犊
驱动牛犊
  • 注册日期2008-10-24
  • 最后登录2010-05-12
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1947回复:6

新手问题:请问,文件打开后,如何通过文件对象获得文件的句柄。

楼主#
更多 发布于:2009-11-27 13:35
文件打开后,如后通过文件对象或者文件所在目录获得文件的句柄。请高手指点,谢谢!
bestshow
驱动牛犊
驱动牛犊
  • 注册日期2009-10-31
  • 最后登录2010-09-26
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望231点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-11-29 19:04
lz去看看ZwCreateFile函数吧,说的很详细的
zhsh200
驱动牛犊
驱动牛犊
  • 注册日期2005-01-27
  • 最后登录2013-07-18
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望212点
  • 贡献值1点
  • 好评度54点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-11-30 10:01
HANDLE OpenFileFileObject(PFILE_OBJECT lpFileObject)
{
    NTSTATUS status;
    HANDLE hFile ;
    status = ObOpenObjectByPointer(lpFileObject, 0, NULL, FILE_READ_ATTRIBUTES, NULL, KernelMode, &hFile);
    if (status == STATUS_SUCCESS)
    {
        return hFile;
    }

    return (HANDLE)-1;

}
sqpcd
驱动牛犊
驱动牛犊
  • 注册日期2008-10-24
  • 最后登录2010-05-12
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-12-09 16:54
请问下LS,最后返回的HANDLE为什么还要减1啊?
geland
驱动牛犊
驱动牛犊
  • 注册日期2003-12-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望251点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-12-09 20:39
lz很幽默
qianjunhua
驱动小牛
驱动小牛
  • 注册日期2003-12-08
  • 最后登录2013-02-27
  • 粉丝11
  • 关注0
  • 积分712分
  • 威望1052点
  • 贡献值1点
  • 好评度57点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-12-09 22:02
引用第3楼sqpcd于2009-12-09 16:54发表的  :
请问下LS,最后返回的HANDLE为什么还要减1啊?

-1 == INVALID_HANDLE_VALUE
sqpcd
驱动牛犊
驱动牛犊
  • 注册日期2008-10-24
  • 最后登录2010-05-12
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望171点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-12-14 17:37
谢谢各位~
游客

返回顶部