private static string[] GetUsbDeviceMultiStringProperty( Interop.Windows.SafeDevInfoSetHandle deviceInfoSetHandle, ref Interop.Windows.SetupDeviceInfoData deviceInfoData, Interop.Windows.SetupDeviceRegistryProperty property) { var regType = Interop.Windows.RegType.None; var bytes = GetUsbDeviceProperty( deviceInfoSetHandle, ref deviceInfoData, property, ref regType ); if (bytes == null || bytes.Length == 0 || regType != Interop.Windows.RegType.MultiSz) { return(new string[] { }); } return(Encoding.Unicode.GetString(bytes).Split( new[] { '\0' }, StringSplitOptions.RemoveEmptyEntries )); }