Raw PDO Interface "invisible"

I wrote a filter driver based on KbFiltr sample, it is pretty much the same code as Microsoft sample (raw PDOs used as sideband communication with main drivers, and then raw PDOs register interfaces using WdfDeviceCreateDeviceInterface). The problem I am facing is as follows:

  1. When this filter driver is installed as an upper filter for USB in Windows XP (SP3), it works as expected, and SetupDi (called from a user mode application) finds the interfaces and can interact with the driver as expected.

  2. However, when installed on Windows POS Ready 2009 as USB upper filter, drivers work as per normal (i.e. filters) but SetupDi does not find the interfaces of raw PDOs anymore (I checked, and the interface in raw pdo code is created successfully. ie. WdfDeviceCreateDeviceInterface is successful).

  3. When installed On Windows POS Ready 2009 as USB LOWER filter, drivers work as per normal again, and setupDi finds the interface.

  4. When installed as either lower or upper filter on COM ports, all works fine (i.e. both driver filter properly and interface is again visible).

The question is;

What would be the reason an upper filter on USB in Windows POS Ready would suddenly have the raw PDO interfaces not accessible/visible through SetupDi APIs? What I am doing wrong here?

Thanks,
AB