ccwss000
驱动牛犊
驱动牛犊
  • 注册日期2003-12-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分85分
  • 威望9点
  • 贡献值1点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:3158回复:3

IRP_MJ_CREATE里程中如何判断对象是文件还是目录?

楼主#
更多 发布于:2005-05-28 13:37
我的方法是
NTSTATUS
SecuredCreate(IN PDEVICE_OBJECT DeviceObject,
 IN PIRP Irp)
{
BOOLEAN bIsDir



IrpSp = IoGetCurrentIrpStackLocation(Irp);



if(BooleanFlagOn(IrpSp->Parameters.Create.Options, FILE_DIRECTORY_FILE))
{
bIsDir = TRUE;
}
else
{
FILE_STANDARD_INFORMATION StdInfo;
if(QueryStdInfo(IrpSp->FileObject, &StdInfo))
bIsDir = StdInfo.Directory;
}



这里bIsDir作为文件或者目录的标志变量。
请问这样判断完全吗?与漏网之鱼吗?
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-30 09:29
www.osronline.com对这种常规问题都有解答的。
[b]万水千山总是情,回个帖子行不行?[/b]
stevphen
驱动牛犊
驱动牛犊
  • 注册日期2003-02-09
  • 最后登录2010-12-03
  • 粉丝0
  • 关注0
  • 积分573分
  • 威望87点
  • 贡献值1点
  • 好评度57点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-31 15:42
Small correction:
Creating a folder requires the CreateOptions include the FILE_DIRECTORY_FILE flag. Opening a folder does not.
guard366
驱动牛犊
驱动牛犊
  • 注册日期2009-04-30
  • 最后登录2010-10-21
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望351点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-05-01 12:54
我用的是楼主那个
成熟的产品!
游客

返回顶部