Filter driver to disable/enable USB devices

Hi All,

We are trying to change the state of usb devices using their PNPID. We are doing this by using the PNPUTIL.It works fine in most cases, but, few devices require a reboot to change their state. This is not acceptable from a security perspective. We also tried the devcon utility and setupDi calls, but they all sometimes require reboot.
Is there any other API which we can use or can we design a filter to block the USB sticks.

Any help would be appreciated.

Thanks!!!