Как в перехватчике NtCreateFile/IoCreateFile узнать какой объект используется, необходимо обрабатывать только FILE_OBJECT а остальные пропускать. ObReferenceObjectByHandle возаращает объект но как их различать я не знаю,какие есть мысли?
ObReferenceObjectByHandle имеет параметр ObjectType. Если он указан, то операционная система проверяет совпадает ли он с реальным типом объекта. Таким образом, если при вызове ObReferenceObjectByHandle() ты укажешь в качестве параметра ObjectType = *IoFileObjectType, то в случае, если данный объект не является файловым получишь результат STATUS_OBJECT_TYPE_MISMATCH. По моему данный метод для тебя больше подойдет, так как тебе всего навсего будет нужно добавить в уже существующий вызов всего один параметр. Однако, спасибо x64 за идею. Не знал про такую функцию.