IRP请求中判断:文件/目录
#define FAT_NTC_FCB 0x0502
#define FAT_NTC_DCB 0x0503
#define FAT_NTC_ROOT_DCB 0x0504
#define NTFS_NTC_DCB 0x0703
#define NTFS_NTC_ROOT_DCB 0x0704
#define NTFS_NTC_FCB 0x0705
#define CDFS_NTC_DCB 0x0304
#define CDFS_NTC_FCB 0x0305
BOOLEAN IsDirectory(PFILE_OBJECT FileObject)
{
FSRTL_COMMON_FCB_HEADER* pfcfHeader =(FSRTL_COMMON_FCB_HEADER*)FileObject->FsContext;
if(pfcfHeader->NodeTypeCode == FAT_NTC_DCB || pfcfHeader->NodeTypeCode == FAT_NTC_ROOT_DCB
|| pfcfHeader->NodeTypeCode == NTFS_NTC_DCB || pfcfHeader->NodeTypeCode == NTFS_NTC_ROOT_DCB
|| pfcfHeader->NodeTypeCode == CDFS_NTC_DCB)
{
DbgPrint(("Is directory!/n"));
return TRUE;
}
DbgPrint(("Is not directory!/n"));
return FALSE;
}
本文介绍了一个用于Windows内核模式下判断文件对象是否为目录的方法。通过检查文件对象上下文中的节点类型代码来区分文件和目录,并提供了具体的实现代码。
5475

被折叠的 条评论
为什么被折叠?



