Win2K FileSys hooking

Hi,

Introduction:

********************

I have written a FSFD based on the sFilter sample, this filter doesn’t start during the boot sequence, rather, it is being started by a user application using CreateService and friends.

On WinXP I use ‘IoRegisterFsRegistrationChange’ to attach to all of the mounted FS & Volumes, on Win2K ‘IoRegisterFsRegistrationChange’ will NOT enumerate devices that were already mounted, rather, it will indicate new devices being mounted.

To enable manual enumeration of all of the ‘drives’ on Win2K I have implemented the following:

for each drive ( from ‘A’ to ‘Z’ )

{

  • Open the root directory of that drive using ‘ZwCreateFile’.

  • Get the fileObject related with the root directory using ‘ObReferenceObjectByHandle’.

  • Get the related file system device using ‘IoGetRelatedDeviceObject’.

  • Attach to the device stack.

}

The Problem:

********************

The method mentioned above works fine with one exception, hooking to a floppy drive pops-up an annoying user-mode message reporting there is no disk in the drive…

How can I avoid this message box?

What can I do to prevent it from showing?

Naddav.


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

> How can I avoid this message box?

What can I do to prevent it from showing?

IoSetThreadHardErrorMode(FALSE);

L.