PLD information for USB ports

Hello guys,

I need to gather the PLD (Physical Location Device) information for every USB port on the system. So, to achieve that, I can call the _PLD method for every USB Root Hub. What’s the best way to do that? I don’t know much, but a filter driver for USB Root Hubs could solve the problem? Is this a good way to do that?

You don’t need a driver. The PLD information is surfaced as a property on each of the usb hubs that report this information. In user mode, you enumerate each hub and then query for the property.

The powershell entity APIs describe it, you can use raw win32/wmi if you truly want
https://docs.microsoft.com/en-us/powershell/module/pnpdevice/get-pnpdeviceproperty?view=win10-ps
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/devpkey-device-physicaldevicelocation

1 Like

@Doron_Holan said:
You don’t need a driver. The PLD information is surfaced as a property on each of the usb hubs that report this information. In user mode, you enumerate each hub and then query for the property.

The powershell entity APIs describe it, you can use raw win32/wmi if you truly want
https://docs.microsoft.com/en-us/powershell/module/pnpdevice/get-pnpdeviceproperty?view=win10-ps
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/devpkey-device-physicaldevicelocation

Thanks a lot! I’ll look into that :slight_smile: