/// <summary>
 /// Internal constructor of managed CorsairDeviceInfo.
 /// </summary>
 /// <param name="nativeInfo">The native CorsairDeviceInfo-struct</param>
 internal GenericDeviceInfo(_CorsairDeviceInfo nativeInfo)
 {
     this.Type = nativeInfo.type;
     this.Model = nativeInfo.model == IntPtr.Zero ? null : Marshal.PtrToStringAuto(nativeInfo.model);
     this.CapsMask = (CorsairDeviceCaps)nativeInfo.capsMask;
 }
 /// <summary>
 /// Internal constructor of managed CorsairDeviceInfo.
 /// </summary>
 /// <param name="nativeInfo">The native CorsairDeviceInfo-struct</param>
 internal CorsairMouseDeviceInfo(_CorsairDeviceInfo nativeInfo)
     : base(nativeInfo)
 {
     this.PhysicalLayout = (CorsairPhysicalMouseLayout)nativeInfo.physicalLayout;
 }
 /// <summary>
 /// Internal constructor of managed CorsairDeviceInfo.
 /// </summary>
 /// <param name="nativeInfo">The native CorsairDeviceInfo-struct</param>
 internal CorsairKeyboardDeviceInfo(_CorsairDeviceInfo nativeInfo)
     : base(nativeInfo)
 {
     this.PhysicalLayout = (CorsairPhysicalKeyboardLayout)nativeInfo.physicalLayout;
     this.LogicalLayout = (CorsairLogicalKeyboardLayout)nativeInfo.logicalLayout;
 }
 /// <summary>
 /// Internal constructor of managed <see cref="CorsairHeadsetDeviceInfo" />.
 /// </summary>
 /// <param name="nativeInfo">The native <see cref="_CorsairDeviceInfo" />-struct</param>
 internal CorsairHeadsetDeviceInfo(_CorsairDeviceInfo nativeInfo)
     : base(nativeInfo)
 { }
 /// <summary>
 /// Internal constructor of managed <see cref="CorsairMousematDeviceInfo" />.
 /// </summary>
 /// <param name="nativeInfo">The native <see cref="_CorsairDeviceInfo" />-struct</param>
 internal CorsairMousematDeviceInfo(_CorsairDeviceInfo nativeInfo)
     : base(nativeInfo)
 { }