Minifilter System hanging

Hello everyone . Today for testing I creatded simple MiniFilter driver . I registered IRM_MJ_CREATE firstly in Preop function I get created filename and with DbgPrint i printed filenames to debug out it works well . In next project I want to send all filenames to my usermode console App .For this reason I create communication port . Ok in user mode my code looks like this . while(1) { res = FltGetMessage(…) printf() ;without printf problem not solved FltSendReply(…) } In kernel mode after I get filename I send it FltSendMessage(…) with NULL timeout. when usermode app connect minifilter system hang I do nothing mouse keyboard all freezed. But when I send CTRL+C to console system again works well . So my 1.question can system hang because of heavy of data like ( a lot of filenames) and a lot of request(p.s im not using overlapped for test app i use sync method) 2.canit happen if both FilterGetMessage amd FltSendMessage has incorrect parameter? or just I cant use FltSendMessage in IRP_MJ_CREATE for this situation?

You want to post this in the NTFSD forum.

I’ll move it for you.

Peter

1 Like

Sorry about it. Thank you very much

Processing one PreCreate request at a time in user mode will certainly make your system unusable. There are a lot of these.

1 Like

Thank you Mr Scott?Can you give me some tips how do i solve this problem?

That is a lot to cover in a forum post.

Start by getting some experience playing with Minispy. I recommend attaching to a secondary volume (e.g. E:) and using FileTest to watch individual I/O requests and what they mean. There is a lot to learn so expect to go slow and for the process to take a while.