Best practice for running I/O operations from a minifilter

I am writing a minifilter to log all the operations happening on the filesystem. To do so, I’m planning on writing the logs to a serial port which outputs to a file on my host machine (The minifilter is planned to run on a VM). I read on the forum that when using KMDF it’s better to use the Wdfioxxx APIs rather than the Zwxxx APIs to avoid failures when running on IRQL>PASSIVE_LEVEL. So, I wanted to ask, does the same idea apply for minifilters or can I use the Zwxxx APIs with no risk ?

Sounds like a lot of work…Why not just use DbgPrint?