设备门户 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 会话状态。

另请参阅