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;
}