¿>> está esto el código de que Aflarin está hablando en su comentario del número 3? ¿Es eso que usted querer decir Aflarin?
Tengo miedo que la respuesta es No. Hablé realmente de enganchar ZwOpenFile, pero debe estar dentro de conductor del modo del núcleo. Su biblioteca x está trabajando en modo del usuario. Así pues, puede enganchar solamente el poder del usuario-modo de ZwOpenFile. Significa que su código interceptará las llamadas de ZwOpenFile solamente si vienen del usuario-modo app/DLL.
Conjeturo cuando el app llama CreateProcess (o algo similar), él entro a NtCreateProcess modo del núcleo y entonces ZwOpenFile es llamado por NtCreateProcess del modo del núcleo. Esta llamada pasará tan por su gancho.
Le sugiero para leer el artículo correspondiente de mi poste (y examinar el código del artículo). Por ejemplo, usted puede encontrar que hay algunas razones para enganchar NtCreateSection en vez de ZwOpenFile:)