设备门户 API 参考
Windows 设备门户中的所有内容都是基于 REST API 生成的,该 API 可用于访问数据和以编程方式控制设备。
应用部署
/api/app/packagemanager/package (DELETE)
卸载应用。
参数
- package:要卸载的包的文件名。
/api/app/packagemanager/package (POST)
安装应用。
参数
- package:要安装的包的文件名。
有效负载
- 符合要求的多部分 http 正文
/api/app/packagemanager/packages (GET)
检索系统上已安装的应用列表。 包括详细信息。
返回数据
- 包括详细信息的已安装包列表
/api/app/packagemanager/state (GET)
获取正在进行的应用安装状态。
转储集合
/api/debug/dump/usermode/crashcontrol (DELETE)
禁用旁加载应用的故障转储收集。
参数
- packageFullName:包名称
/api/debug/dump/usermode/crashcontrol (GET)
获取旁加载应用的故障转储收集设置。
参数
- packageFullName:包名称
/api/debug/dump/usermode/crashcontrol (POST)
启用和设置旁加载应用的转储控制设置。
参数
- packageFullName:包名称
/api/debug/dump/usermode/crashdump (DELETE)
删除旁加载应用的故障转储。
参数
- packageFullName:包名称
- fileName:转储文件名
/api/debug/dump/usermode/crashdump (GET)
检索旁加载应用的故障转储。
参数
- packageFullName:包名称
- fileName:转储文件名
返回数据
- 转储文件。 使用 WinDbg 或 Visual Studio 进行检查。
/api/debug/dump/usermode/dumps (GET)
返回旁加载应用的所有故障转储的列表。
返回数据
- 每个旁加载应用的故障转储列表
ETW
/api/etw/providers (GET)
枚举已注册的提供程序。
返回数据
- 提供程序的列表、易记名称和 GUID
/api/etw/session/realtime (GET/WebSocket)
创建实时 ETW 会话;通过 websocket 进行管理。
返回数据
- 来自已启用的提供程序的 ETW 事件
全息操作系统
/api/holographic/os/etw/customproviders (GET)
返回未注册到系统的 HoloLens 特定 ETW 提供程序的列表。
/api/holographic/os/services (GET)
返回所有正在运行的服务的状态。
/api/holographic/os/settings/ipd (GET)
获取存储的 IPD(瞳距),以毫米为单位。
/api/holographic/os/settings/ipd (POST)
设置 IPD。
参数
- ipd:要设置的新 IPD 值,以毫米为单位
/api/holographic/os/webmanagement/settings/https (GET)
获取设备门户的 HTTPS 要求。
/api/holographic/os/webmanagement/settings/https (POST)
设置设备门户的 HTTPS 要求。
参数
- required:yes、no 或 default
全息感知
/api/holographic/perception/client (GET/WebSocket)
接受 WebSocket 升级,并运行以 30 fps 帧速率发送更新的感知客户端。
参数
- clientmode:视觉跟踪模式无法被动建立时,“active”值会强制执行该模式
全息热量
使用这些热 API 时,请参阅管理电源和散热一文。
/api/holographic/thermal/stage (GET)
获取设备的热量阶段(0 正常,1 暖,2 严重)。
/api/holographic/thermal/getMitigationLevels (GET/websocket)
打开 Websocket(或执行单个 HTTP GET 查询),从而返回包含以下项的对象列表:
- IsSuppressed - 确定给定外围设备是否禁止了缓解措施
- Level - 此外围设备的最新热缓解级别
- Mask - 此外围设备的掩码
- ThermalScore - 此外围设备的最新热分数
对象按外围设备名称命名(示例:电池)
/api/holographic/thermal/setMitigationLevel (POST)
更改针对给定外围设备报告的缓解级别
参数
- mask:包含为感兴趣的外围设备设置的单个位的位掩码(请参阅 PowerThermalPeripheralFlags 了解详细信息)
- level:要使用的新级别 (0-3)
/api/holographic/thermal/setThermalScore (POST)
更改为给定外围设备报告的热分数
参数
- mask:包含为感兴趣的外围设备设置的单个位的位掩码(请参阅 PowerThermalPeripheralFlags 了解详细信息)
- thermalScore:要使用的新热分数 (100-0)
地图管理器
/api/holographic/mapmanager/mapFiles (GET)
获取可用映射文件 (.mapx) 的列表。
/api/holographic/mapmanager/anchorFiles (GET)
获取可用定位点文件 (.ancx) 的列表。
/api/holographic/mapmanager/srdbFiles (GET)
获取可用空间重建数据库文件 (.srdb) 的列表。
/api/holographic/mapmanager/getanchors (GET)
获取当前用户的持久定位点列表。
下载/上传/删除文件
/api/holographic/mapmanager/download (GET)
下载映射、定位点或空间重建数据库文件。 该文件必须事先已上传或导出。
参数
- FileName:要下载的文件的名称。
示例:
$.post("/api/holographic/mapmanager/download?FileName=" + spaceID)
/api/holographic/mapmanager/upload (POST)
上传映射、定位点或空间重建数据库文件。 上传文件后,系统随后可以导入和使用该文件。
参数
- file:要上传的文件的名称。
示例:
var form_data = new FormData();
form_data.append("file", file_data);
$.ajax({
url: "/api/holographic/mapmanager/upload",
dataType: 'json',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post'
})
/api/holographic/mapmanager/delete (POST)
删除映射、定位点或空间重建数据库文件。 该文件必须事先已上传或导出。
参数
- FileName:要删除的文件的名称。
示例:
$.post("/api/holographic/mapmanager/delete?FileName=" + spaceID)
导出
/api/holographic/mapmanager/export (POST)
导出系统当前使用的映射。 导出后可以下载该映射。
示例:
$.post("/api/holographic/mapmanager/export")
/api/holographic/mapmanager/exportanchors (POST)
导出系统当前使用的映射。 导出后可以下载该映射。 示例:
$.post("/api/holographic/mapmanager/exportanchors")
/api/holographic/mapmanager/exportmapandanchors (POST)
导出系统当前使用的映射和定位点。 导出后可以下载这些映射和定位点。 示例:
$.post("/api/holographic/mapmanager/exportmapandanchors")
/api/holographic/mapmanager/exportmapandspatialmappingdb (POST)
导出系统当前使用的映射和空间重建数据库。 导出后可以下载这些映射和定位点。
示例:
$.post("/api/holographic/mapmanager/exportmapandspatialmappingdb")
导入
/api/holographic/mapmanager/import (POST)
向系统指示应使用哪个映射。 可针对已导出或上传的文件调用。
参数
- FileName:要使用的映射的名称。
示例:
$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })
/api/holographic/mapmanager/importanchors (POST)
向系统指示应使用哪些定位点。 可针对已导出或上传的文件调用。
参数
- FileName:要使用的定位点的名称。
示例:
$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })
/api/holographic/mapmanager/importspatialmappingdb (POST)
向系统指示应使用哪个空间重建数据库。 可针对已导出或上传的文件调用。
参数
- FileName:要使用的空间映射数据库的名称。
示例:
$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })
其他
/api/holographic/mapmanager/resetmapandanchorsandsrdb (POST)
重置系统的映射、定位点和空间重建数据库。
示例:
$.post("/api/holographic/mapmanager/resetmapandanchorsandsrdb")
/api/holographic/mapmanager/status (GET)
获取系统的状态,包括上次导入的映射、定位点和空间重建数据库文件。
混合现实捕获
/api/holographic/mrc/file (GET)
从设备下载混合现实文件。 使用 op=stream 查询参数进行流式传输。
参数
- filename:要获取的视频文件的 hex64 编码名称
- op:流式传输
/api/holographic/mrc/file (DELETE)
从设备中删除混合现实录制内容。
参数
- filename:要删除的文件的 hex64 编码名称
/api/holographic/mrc/files (GET)
返回设备上存储的混合现实文件的列表。
/api/holographic/mrc/photo (POST)
提取混合现实照片并在设备上创建文件。
参数
- holo:捕获全息影像:true 或 false(默认值为 false)
- pv:捕获 PV 相机:true 或 false(默认值为 false)
- RenderFromCamera:(仅限 HoloLens 2)从照片/摄像机的角度渲染:true 或 false(默认值为 true)
/api/holographic/mrc/settings (GET)
获取默认的混合现实捕获设置。
/api/holographic/mrc/settings (POST)
设置默认的混合现实捕获设置。 其中一些设置将应用于系统的 MRC 照片和视频捕获。
/api/holographic/mrc/status (GET)
获取 Windows 设备门户中的混合现实捕获状态。
响应
响应包含一个 JSON 属性,指示 Windows 设备门户是否正在录制视频。
{"IsRecording": boolean}
/api/holographic/mrc/thumbnail (GET)
获取指定文件的缩略图。
参数
- filename:正在请求其缩略图的文件的 hex64 编码名称
/api/holographic/mrc/video/control/start (POST)
启动混合现实录制。
参数
- holo:捕获全息影像:true 或 false(默认值为 false)
- pv:捕获 PV 相机:true 或 false(默认值为 false)
- mic:捕获麦克风:true 或 false(默认值为 false)
- loopback:捕获应用音频:true 或 false(默认值为 false)
- RenderFromCamera:(仅限 HoloLens 2)从照片/摄像机的角度渲染:true 或 false(默认值为 true)
- vstab:(仅限 HoloLens 2)启用视频稳定化:true 或 false(默认值为 true)
- vstabbuffer:(仅限 HoloLens 2)视频稳定化缓冲延迟:0 到 30 帧(默认值为 15 帧)
/api/holographic/mrc/video/control/stop (POST)
停止当前的混合现实录制。
混合现实流
注意
由于环回隔离,无法从设备上的应用内部连接到混合现实流。
HoloLens 支持通过分块下载分段 mp4 来实时预览混合现实。
混合现实流共享用于控制捕获内容的同一组参数:
- holo:捕获全息影像:true 或 false
- pv:捕获 PV 相机:true 或 false
- mic:捕获麦克风:true 或 false
- loopback:捕获应用音频:true 或 false
如果未指定其中的任何参数,则会捕获全息影像、照片/摄像机和应用音频。
如果指定了任何参数,则未指定的参数将默认为 false
可选参数(仅限 HoloLens 2)
- RenderFromCamera:从照片/摄像机的角度渲染:true 或 false(默认值为 true)
- vstab:启用视频稳定化:true 或 false(默认值为 false)
- vstabbuffer:视频稳定化缓冲延迟:0 到 30 帧(默认值为 15 帧)
/api/holographic/stream/live.mp4 (GET)
1280x720p 30fps 5Mbit 流。
/api/holographic/stream/live_high.mp4 (GET)
1280x720p 30fps 5Mbit 流。
/api/holographic/stream/live_med.mp4 (GET)
854x480p 30fps 2.5Mbit 流。
/api/holographic/stream/live_low.mp4 (GET)
428x240p 15fps 0.6Mbit 流。
网络
/api/networking/ipconfig (GET)
获取当前 IP 配置。
操作系统信息
/api/os/info (GET)
获取操作系统信息。
/api/os/machinename (GET)
获取计算机名。
/api/os/machinename (POST)
设置计算机名。
参数
- name:要设置成的 hex64 编码的新计算机名
感知模拟控制
/api/holographic/simulation/control/mode (GET)
获取模拟模式。
/api/holographic/simulation/control/mode (POST)
设置模拟模式。
参数
- mode:模拟模式:default、simulation、remote、legacy
/api/holographic/simulation/control/stream (DELETE)
删除控制流。
/api/holographic/simulation/control/stream (GET/WebSocket)
打开控制流的 WebSocket 连接。
/api/holographic/simulation/control/stream (POST)
创建控制流(必须指定优先级)或将数据发布到创建的流(必须指定 streamId)。 发布的数据应是“application/octet-stream”类型。
/api/holographic/simulation/display/stream (GET/WebSocket)
请求模拟视频流,其中包含在“模拟”模式下在系统显示器上呈现的内容。 最初将发送一个简单的格式描述符标头,接着发送 H.264 编码的纹理,其中的每个纹理前面带有一个标头,指示眼睛索引和纹理大小。
感知模拟播放
/api/holographic/simulation/playback/file (DELETE)
删除录制内容。
参数
- recording:要删除的录制内容的名称。
/api/holographic/simulation/playback/file (POST)
上传录制内容。
/api/holographic/simulation/playback/files (GET)
获取所有录制内容。
/api/holographic/simulation/playback/session (GET)
获取录制内容的当前播放状态。
参数
- recording:录制内容的名称。
/api/holographic/simulation/playback/session/file (DELETE)
卸载录制内容。
参数
- recording:要卸载的录制内容的名称。
/api/holographic/simulation/playback/session/file (POST)
加载录制内容。
参数
- recording:要加载的录制内容的名称。
/api/holographic/simulation/playback/session/files (GET)
获取所有已加载的录制内容。
/api/holographic/simulation/playback/session/pause (POST)
暂停录制内容。
参数
- recording:录制内容的名称。
/api/holographic/simulation/playback/session/play (POST)
播放录制内容。
参数
- recording:录制内容的名称。
/api/holographic/simulation/playback/session/stop (POST)
停止录制内容。
参数
- recording:录制内容的名称。
/api/holographic/simulation/playback/session/types (GET)
获取已加载录制内容中的数据类型。
参数
- recording:录制内容的名称。
感知模拟录制
/api/holographic/simulation/recording/start (POST)
开始录制。 一次只能有一个录制处于活动状态。 必须设置下列其中一项:head、hands、spatialMapping 或 environment。
参数
- head:设置为 1 会录制头部数据。
- hands:设置为 1 会录制手部数据。
- spatialMapping:设置为 1 会录制空间映射。
- environment:设置为 1 会录制环境数据。
- name:录制名称。
- singleSpatialMappingFrame:设置为 1 只会录制单个空间映射帧。
/api/holographic/simulation/recording/status (GET)
获取录制状态。
/api/holographic/simulation/recording/stop (GET)
停止当前录制。 录制将以文件的形式返回。
性能数据
/api/resourcemanager/processes (GET)
返回正在运行的进程列表和详细信息。
返回数据
- 包含进程列表和每个进程的详细信息的 JSON
/api/resourcemanager/systemperf (GET)
返回系统性能统计信息(I/O 读/写、内存统计信息等)。
返回数据
- 包含系统信息的 JSON:CPU、GPU、内存、网络、IO
强力
/api/power/battery (GET)
获取当前电池状态。
/api/power/state (GET)
检查系统是否处于低功耗状态。
远程控制
/api/control/restart (POST)
重启目标设备。
/api/control/shutdown (POST)
关闭目标设备。
任务管理器
/api/taskmanager/app (DELETE)
停止新式应用。
参数
- package:应用包的完整名称,采用 hex64 编码
- forcestop:强制停止所有进程 (=yes)
/api/taskmanager/app (POST)
启动新式应用
参数
- appid:要启动的应用的 PRAID,采用 hex64 编码
- package:应用包的完整名称,采用 hex64 编码
WiFi 管理
/api/wifi/interfaces (GET)
枚举无线网络接口。
返回数据
- 无线接口的列表和详细信息(GUID、说明等)
/api/wifi/network (DELETE)
删除与指定接口上的网络关联的配置文件。
参数
- interface:网络接口 GUID
- profile:配置文件名称
/api/wifi/networks (GET)
枚举指定网络接口上的无线网络。
参数
- interface:网络接口 GUID
返回数据
- 在网络接口上找到的无线网络列表和详细信息
/api/wifi/network (POST)
连接到指定接口上的网络或与之断开连接。
参数
- interface:网络接口 GUID
- ssid:要连接到的 SSID,采用 hex64 编码
- op:connect 或 disconnect
- createprofile:yes 或 no
- key:共享密钥,采用 hex64 编码
Windows Performance Recorder
/api/wpr/customtrace (POST)
上传 WPR 配置文件并使用上传的配置文件开始跟踪。
有效负载
- 符合要求的多部分 http 正文
返回数据
- 返回 WPR 会话状态。
/api/wpr/status (GET)
检索 WPR 会话的状态
返回数据
- WPR 会话状态。
/api/wpr/trace (GET)
停止 WPR(性能)跟踪会话。
返回数据
- 返回跟踪 ETL 文件
/api/wpr/trace (POST)
启动 WPR(性能)跟踪会话。
参数
- profile:配置文件名称。 可用的配置文件存储在 perfprofiles/profiles.json 中
返回数据
- 启动时返回 WPR 会话状态。