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
                           ));
            }