Support selective suspend in usbcamd minidriver

Hi:
Currently, I have a usb camera device driver which is modified from USBCamd DDK sample code. And I don’t know should I implement selective suspend feature in my minidriver? Should I provide Idel_Notification_callback and WaitWakeUp callback function to Bus driver? I think Class driver will handle this for me, am I right?
I just used Performance Monitor to check CPU state, if I plugged my device into system, the CPU C3 state time will be zero util I remove my device from system.
I already add PowerDownWhenUnOpended softwarekey and set it to 1 in my INF file, but it doesn’t work for selective suspend.
I am sure my device will enter into D3 state when stream is not opened, and it will enter into D0 state when stream is opened.

Can any one give me a hint to support selective suspend in XP environment.

PS. I have confirmed with default UVC driver, it also doesn’t support selective suspend either.