NVMe_PASSTHROUGH_IOCTL

Hello All,

From my disk filter driver, I am trying to send a custom-defined IOCTL to NVMe Driver(not the inbox). All this I am doing from my DispatchDeviceIoControl() routine. After receiving system IOCTL, I am building my custom passthrough IOCTL, creating an IRP, and sending it by IoBuildDevice…() to the target driver, which is a custom NVMe driver. But this custom IOCTL I cannot receive at BuildIO at all. Why? Can someone please shed some light on this, or this NVMe_PASSTHROUGH_IOCTL way only works from User-mode?

Thank you so much for your attention and participation.

Am I trying to do something which is not possible to achieve?