Bueno, ya sabes que es posible, la utilidad de la manija SysInternals' lo hace. NtQueryInformation no va a ser eliminado, es una interfaz esencial de bajo nivel entre Win32 y el sistema operativo "real".
Lo que nunca sucederá es que los argumentos de NtQueryInformation que permiten iterar identificadores van a estar documentados. Como no se detiene solo allí, algunos muppet lo usarán para llamar a CloseHandle() en un archivo que no quiere que se bloquee. Que es muy buena manera de destruir el contenido de su disco duro.
El proceso que pertenecía al identificador no sabe que el identificador está cerrado. Seguirá escribiéndole, probablemente ignorando por completo el código de retorno "no funcionó" de WriteFile(). Lo cual es inofensivo hasta que el programa abra otro controlador, recuperando el mismo valor que el que se cerró antes. Ahora comienza a escribir una mezcla de basura (destinada al identificador anterior) y datos nuevos al manejador. Destruyendo completamente el contenido de lo que está escribiendo. Haga girar las cintas de respaldo si eso es algo así como una base de datos de misión crítica.
posible duplicado http://stackoverflow.com/questions/231547/tracing-which-process-that-has-opened-a-particular-file –