diff --git a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs
index 8033837..5b41eef 100644
--- a/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Generic/CorsairRGBDeviceInfo.cs
@@ -36,6 +36,12 @@ namespace RGB.NET.Devices.Corsair
///
public string Model { get; }
+ ///
+ /// Returns the unique ID provided by the Corsair-SDK.
+ /// Returns string.Empty for Custom devices.
+ ///
+ public string DeviceId { get; }
+
///
public object? LayoutMetadata { get; set; }
@@ -60,6 +66,7 @@ namespace RGB.NET.Devices.Corsair
this.DeviceType = deviceType;
this.CorsairDeviceType = nativeInfo.type;
this.Model = nativeInfo.model == IntPtr.Zero ? string.Empty : Regex.Replace(Marshal.PtrToStringAnsi(nativeInfo.model) ?? string.Empty, " ?DEMO", string.Empty, RegexOptions.IgnoreCase);
+ this.DeviceId = nativeInfo.deviceId ?? string.Empty;
this.CapsMask = (CorsairDeviceCaps)nativeInfo.capsMask;
DeviceName = DeviceHelper.CreateDeviceName(Manufacturer, Model);
@@ -78,6 +85,7 @@ namespace RGB.NET.Devices.Corsair
this.DeviceType = deviceType;
this.CorsairDeviceType = nativeInfo.type;
this.Model = modelName;
+ this.DeviceId = nativeInfo.deviceId ?? string.Empty;
this.CapsMask = (CorsairDeviceCaps)nativeInfo.capsMask;
DeviceName = DeviceHelper.CreateDeviceName(Manufacturer, Model);
diff --git a/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs b/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs
index 418e9f6..da35dbf 100644
--- a/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs
@@ -48,5 +48,11 @@ namespace RGB.NET.Devices.Corsair.Native
/// CUE-SDK: structure that describes channels of the DIY-devices
///
internal _CorsairChannelsInfo? channels;
+
+ ///
+ /// CUE-SDK: null-terminated string that contains unique device identifier that uniquely identifies device at least within session
+ ///
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
+ internal string? deviceId;
}
}