namespace XFEExtension.NetCore.InputSimulator;
/// 驱动控制设备的检测状态;检测不会安装驱动或占用输入会话。
public enum DriverStatus
{
/// 未发现已启动的控制设备;驱动可能未安装、被禁用或尚未启动。
NotDetected,
/// 控制设备可访问且协议兼容;实际连接时仍可能存在会话占用。
Ready,
/// 设备协议或状态报告与本 DLL 不兼容。
Incompatible,
/// 枚举或读取设备失败,具体原因见检测结果的 Message。
Unavailable,
/// 系统不支持此驱动。
UnsupportedPlatform
}
/// 一次驱动检测的结果,不保证后续连接成功,也不代表已安装最新版本。
public sealed class DriverCheckResult
{
internal DriverCheckResult(DriverStatus status, string message)
{
Status = status;
Message = message;
}
/// 设备状态。
public DriverStatus Status { get; }
/// 状态说明或设备错误信息。
public string Message { get; }
/// 控制设备可访问且协议兼容;不申请或检查独占输入会话。
public bool IsAvailable => Status == DriverStatus.Ready;
}