I have to write a functionality which prevents the user from creating files on the desktop (except shortcuts files (*.lnk) and directories) for windows XP. After some research i came to the conclusion that this can be done using a file system filter driver or minidriver. Changing the NTFS permissions don't work as the roaming profile cannot be loaded/saved.
I had a look at the DDK samples. e.g. cancelSafe. They are canceling the I/O but this is not what i want. I've seen anti-virus programs which blocked the access to an infected file and the OS returned error code 5: Access Denied.
I want exactly the same behavior. So how can i achieve this in a filter driver?
IoStatus.Status
. More info at Completing an I/O Operation in a Preoperation Callback Routine