Windows_Hello_Configuration_Analysis Windows Hello 配置过程分析 setup包分析

Windows Hello 配置过程分析

概述

本文档分析了Windows Hello设置界面中"点击设置"和"录制人脸"两个关键操作阶段的UVC控制命令。这些命令反映了系统在不同功能模式下的参数配置策略。

原始数据

复制代码
点击设置
intf: 2 unit: 14 cs: 6 req: "81" data: "010301000000000000"
intf: 2 unit: 14 cs: 6 req: "81" data: "010301000000000000"
intf: 2 unit: 14 cs: 6 req: "1" data: "010302000000000000"
intf: 2 unit: 14 cs: 6 req: "81" data: "010302000000000000"

录制人脸
intf: 2 unit: 14 cs: 9 req: "83" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "1" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "83" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "1" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "83" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "1" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "83" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "1" data: "01000000"

请求类型映射

正确的请求类型

  • req: "1" = SET_CUR (设置当前值)
  • req: "81" = GET_CUR (获取当前值)
  • req: "83" = GET_MAX (获取最大值)

阶段1: 点击设置过程分析

控制单元

  • 接口: intf:2 (红外相机控制接口)
  • 单元: unit:14 (MS_CAMERA_CONTROL_XU扩展单元)
  • 控制选择器: cs:6 (MSXU_CONTROL_FACE_AUTHENTICATION)

命令序列分析

步骤 请求类型 数据 说明
1 GET_CUR (81) "010301000000000000" 获取当前值{1,3,1}
2 GET_CUR (81) "010301000000000000" 再次获取确认
3 SET_CUR (1) "010302000000000000" 设置新值{1,3,2}
4 GET_CUR (81) "010302000000000000" 验证设置结果

参数变化分析

  • 初始状态: {1, 3, 1} (flags = 0x01)
  • 设置后状态: {1, 3, 2} (flags = 0x02)

Flags位变化

  • flags: 0x01 (二进制: 00000001)

    • D0: 1 - 认证禁用
    • D1: 0 - 交替帧照明禁用
    • D2: 0 - 背景减除禁用
  • flags: 0x02 (二进制: 00000010)

    • D0: 0 - 认证启用
    • D1: 1 - 交替帧照明启用
    • D2: 0 - 背景减除禁用

阶段2: 录制人脸过程分析

控制单元

  • 红外相机: intf:2, unit:14, cs:9 (MSXU_CONTROL_METADATA)
  • 颜色相机: intf:0, unit:8, cs:9 (MSXU_CONTROL_METADATA)

命令序列分析

红外相机操作
步骤 请求类型 数据 说明
5 GET_MAX (83) "01000000" 获取最大值(1)
6 SET_CUR (1) "01000000" 设置当前值为1
7 GET_MAX (83) "01000000" 再次获取最大值
8 SET_CUR (1) "01000000" 再次设置确认
颜色相机操作
步骤 请求类型 数据 说明
9 GET_MAX (83) "01000000" 获取最大值(1)
10 SET_CUR (1) "01000000" 设置当前值为1
11 GET_MAX (83) "01000000" 再次获取最大值
12 SET_CUR (1) "01000000" 再次设置确认
相关推荐
WangWei_CM27 分钟前
跨位数进程的映像、命令行与环境块读取
windows
墨染 锦年1 小时前
VFIO 用户态驱动开发技术指南
驱动开发
小此方2 小时前
Re:Linux系统篇(四十九)线程篇 · 二:为什么现代操作系统选择分页式存储?分页如何解决物理内存碎片?分页结构如何演化到页表、页目录、MMU?
linux·运维·驱动开发
小白白36116 小时前
Pixelorama怎么用?像素画绘制和动画制作入门
windows
Dawn-bit18 小时前
Linux磁盘分区与Swap和磁盘故障查询
linux·运维·服务器·网络·云计算
sukalot18 小时前
windows网络适配器驱动开发-WiFiCx Wi-Fi 7 功能要求(三)
windows·驱动开发
1560820721918 小时前
飞腾D2000接入外部时钟HYM8563芯片调试
驱动开发·嵌入式硬件·mcu
脚踏实地皮皮晨21 小时前
003003001_Grid控件
开发语言·windows·算法·c#·visual studio
ziguo112221 小时前
Windows API MessageBox 函数详解
c语言·c++·windows·visualstudio
AAA@峥1 天前
OpenStack Keystone 认证服务完整学习指南
服务器·云计算·openstack