Referência de API do portal de dispositivos

Tudo no Portal de Dispositivos do Windows é criado com base nas API REST que você pode usar para acessar os dados e controlar seu dispositivo programaticamente.

Implantação de aplicativos

/api/app/packagemanager/package (DELETE)

Desinstala um aplicativo.

Parâmetros

  • package: nome do arquivo do pacote a ser desinstalado.

/api/app/packagemanager/package (POST)

Instala um aplicativo.

Parâmetros

  • package: nome do arquivo do pacote a ser instalado.

Carga útil

  • corpo http em conformidade com várias partes

/api/app/packagemanager/packages (GET)

Recupera a lista de aplicativos instalados no sistema. Inclui detalhes.

Retornar dados

  • Lista de pacotes instalados com detalhes

/api/app/packagemanager/state (GET)

Obtém o status da instalação do aplicativo em andamento.

Coleta de despejo

/api/debug/dump/usermode/crashcontrol (DELETE)

Desabilita a coleta de despejo de memória para um aplicativo de sideload.

Parâmetros

  • packageFullName: nome do pacote

/api/debug/dump/usermode/crashcontrol (GET)

Obtém as configurações para a coleta de despejo de memória de aplicativos de sideload.

Parâmetros

  • packageFullName: nome do pacote

/api/debug/dump/usermode/crashcontrol (POST)

Habilita e define as configurações de controle de despejo para um aplicativo sideload.

Parâmetros

  • packageFullName: nome do pacote

/api/debug/dump/usermode/crashdump (DELETE)

Exclui um despejo de memória para um aplicativo de sideload.

Parâmetros

  • packageFullName: nome do pacote
  • fileName: nome do arquivo de despejo

/api/debug/dump/usermode/crashdump (GET)

Recupera um despejo de memória para um aplicativo de sideload.

Parâmetros

  • packageFullName: nome do pacote
  • fileName: nome do arquivo de despejo

Retornar dados

  • Arquivo de despejo. Inspecione com o WinDbg ou o Visual Studio.

/api/debug/dump/usermode/dumps (GET)

Retorna a lista de todos os despejos de memória para aplicativos sideload.

Retornar dados

  • Lista de despejos de memória por aplicativo carregado lateralmente

ETW

/api/etw/providers (GET)

Enumera provedores registrados.

Retornar dados

  • Lista de provedores, nome amigável e GUID

/api/etw/session/realtime (GET/WebSocket)

Cria uma sessão ETW em tempo real; gerenciado por meio de um websocket.

Retornar dados

  • Eventos ETW dos provedores habilitados

Sistema operacional holográfico

/api/holographic/os/etw/customproviders (GET)

Retorna uma lista de provedores ETW específicos do HoloLens que não estão registrados no sistema.

/api/holographic/os/services (GET)

Retorna os estados de todos os serviços em execução.

/api/holographic/os/settings/ipd (GET)

Obtém o IPD armazenado (distância interpupillary) em milímetros.

/api/holographic/os/settings/ipd (POST)

Define o IPD.

Parâmetros

  • ipd: novo valor de IPD a ser definido em milímetros

/api/holographic/os/webmanagement/settings/https (GET)

Obtém os requisitos de HTTPS para o Portal de Dispositivos.

/api/holographic/os/webmanagement/settings/https (POST)

Define os requisitos de HTTPS para o Portal de Dispositivos.

Parâmetros

  • obrigatório: sim, não ou padrão

Percepção holográfica

/api/holographic/perception/client (GET/WebSocket)

Aceita atualizações do WebSocket e executa um cliente de percepção que envia atualizações a 30 fps.

Parâmetros

  • clientmode: "ativo" força o modo de acompanhamento visual quando não pode ser estabelecido passivamente

Térmico Holográfico

Ao usar essas APIs térmicas, consulte o artigo gerenciamento de energia e térmicas .

/api/holographic/thermal/stage (GET)

Obtenha o estágio térmico do dispositivo (0 normal, 1 quente, 2 crítico).

/api/holographic/thermal/getMitigationLevels (GET/websocket)

Abra um websocket (ou faça uma única consulta HTTP GET), retornando uma lista de objetos que contêm o seguinte:

  • IsSuppressed - Identificando se um determinado periférico tem mitigações suprimidas
  • Nível – Nível de mitigação térmica mais recente para este periférico
  • Máscara – Máscara deste periférico
  • ThermalScore - Pontuação térmica mais recente para este periférico

Os objetos são nomeados pelo nome do periférico (exemplo: Battery)

/api/holographic/thermal/setMitigationLevel (POST)

Alterar o nível de mitigação que está sendo relatado para um determinado periférico

Parâmetros

  • mask: bitmask com bit único definido para o periférico de interesse (consulte PowerThermalPeripheralFlags para obter detalhes)
  • level: novo nível a ser usado (0-3)

/api/holographic/thermal/setThermalScore (POST)

Alterar a pontuação térmica que está sendo relatada para um determinado periférico

Parâmetros

  • mask: bitmask com um único bit definido para o periférico de interesse (consulte PowerThermalPeripheralFlags para obter detalhes)
  • thermalScore: nova pontuação térmica a ser usada (100-0)

Gerenciador de Mapas

/api/holographic/mapmanager/mapFiles (GET)

Obtém a lista dos arquivos de mapa disponíveis (.mapx).

/api/holographic/mapmanager/anchorFiles (GET)

Obtém a lista de arquivos de âncora disponíveis (.ancx).

/api/holographic/mapmanager/srdbFiles (GET)

Obtém a lista de arquivos de banco de dados de reconstrução espacial disponíveis (.srdb).

/api/holographic/mapmanager/getanchors (GET)

Obtém a lista de âncoras persistentes para o usuário atual.

Baixar/carregar/excluir arquivos

/api/holographic/mapmanager/download (GET)

Baixa um mapa, uma âncora ou um arquivo de banco de dados de reconstrução espacial. O arquivo deve ter sido carregado ou exportado anteriormente.

Parâmetros

  • FileName: nome do arquivo a ser baixado.

Exemplo:

$.post("/api/holographic/mapmanager/download?FileName=" + spaceID)

/api/holographic/mapmanager/upload (POST)

Carrega um arquivo de banco de dados de mapa, âncora ou reconstrução espacial. Depois que um arquivo é carregado, ele pode ser importado e usado posteriormente pelo sistema.

Parâmetros

  • arquivo: nome do arquivo a ser carregado.

Exemplo:

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)

Exclui um mapa, uma âncora ou um arquivo de banco de dados de reconstrução espacial. O arquivo deve ter sido carregado ou exportado anteriormente.

Parâmetros

  • FileName: nome do arquivo a ser excluído.

Exemplo:

$.post("/api/holographic/mapmanager/delete?FileName=" + spaceID)

Exportação

/api/holographic/mapmanager/export (POST)

Exporta o mapa atualmente em uso pelo sistema. Depois de exportado, ele pode ser baixado.

Exemplo:

$.post("/api/holographic/mapmanager/export")

/api/holographic/mapmanager/exportanchors (POST)

Exporta o mapa atualmente em uso pelo sistema. Depois de exportado, ele pode ser baixado. Exemplo:

$.post("/api/holographic/mapmanager/exportanchors")

/api/holographic/mapmanager/exportmapandanchors (POST)

Exporta o mapa e as âncoras atualmente em uso pelo sistema. Depois de exportados, eles podem ser baixados. Exemplo:

$.post("/api/holographic/mapmanager/exportmapandanchors")

/api/holographic/mapmanager/exportmapandspatialmappingdb (POST)

Exporta o mapa e o banco de dados de reconstrução espacial atualmente em uso pelo sistema. Depois de exportados, eles podem ser baixados.

Exemplo:

$.post("/api/holographic/mapmanager/exportmapandspatialmappingdb")

Importar

/api/holographic/mapmanager/import (POST)

Indica para o sistema qual mapa deve ser usado. Pode ser chamado em arquivos que foram exportados ou carregados.

Parâmetros

  • FileName: nome do mapa a ser usado.

Exemplo:

$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })

/api/holographic/mapmanager/importanchors (POST)

Indica ao sistema quais âncoras devem ser usadas. Pode ser chamado em arquivos que foram exportados ou carregados.

Parâmetros

  • FileName: nome das âncoras a serem usadas.

Exemplo:

$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })

/api/holographic/mapmanager/importspatialmappingdb (POST)

Indica ao sistema qual banco de dados de reconstrução espacial deve ser usado. Pode ser chamado em arquivos que foram exportados ou carregados.

Parâmetros

  • FileName: nome do banco de dados de mapeamento espacial a ser usado.

Exemplo:

$.post("/api/holographic/mapmanager/import?FileName=" + spaceID, function() { alert("Import was successful!"); })

Outro

/api/holographic/mapmanager/resetmapandanchorsandsrdb (POST)

Redefina o sistema do mapa, das âncoras e do banco de dados de reconstrução espacial.

Exemplo:

$.post("/api/holographic/mapmanager/resetmapandanchorsandsrdb")

/api/holographic/mapmanager/status (GET)

Obtém o status do sistema, incluindo qual mapa, âncoras e arquivos de banco de dados de reconstrução espacial foram importados pela última vez.

Mixed Reality Capture

/api/holographic/mrc/file (GET)

Baixa um arquivo de realidade misturada do dispositivo. Use o parâmetro de consulta op=stream para streaming.

Parâmetros

  • filename: Nome, hex64 codificado, do arquivo de vídeo a ser obtido
  • op: stream

/api/holographic/mrc/file (DELETE)

Exclui uma gravação de realidade misturada do dispositivo.

Parâmetros

  • filename: nome, hex64 codificado, do arquivo a ser excluído

/api/holographic/mrc/files (GET)

Retorna a lista de arquivos de realidade misturada armazenados no dispositivo.

/api/holographic/mrc/photo (POST)

Tira uma foto de realidade misturada e cria um arquivo no dispositivo.

Parâmetros

  • holo: capturar hologramas: true ou false (padrão para false)
  • pv: capturar câmera PV: true ou false (padrão para false)
  • RenderFromCamera: (somente HoloLens 2) renderização da perspectiva da câmera de foto/vídeo: true ou false (padrão para true)

/api/holographic/mrc/settings (GET)

Obtém as configurações padrão de captura de realidade misturada.

/api/holographic/mrc/settings (POST)

Define as configurações padrão de captura de realidade misturada. Algumas dessas configurações são aplicadas à captura de vídeo e foto do MRC do sistema.

/api/holographic/mrc/status (GET)

Obtém o estado da captura de realidade misturada no Portal de Dispositivos do Windows.

Resposta

A resposta contém uma propriedade JSON que indica se o Portal de Dispositivos do Windows está gravando vídeo ou não.

{"IsRecording": boolean}

/api/holographic/mrc/thumbnail (GET)

Obtém a imagem em miniatura do arquivo especificado.

Parâmetros

  • filename: Name, hex64 codificado, do arquivo para o qual a miniatura está sendo solicitada

/api/holographic/mrc/video/control/start (POST)

Inicia uma gravação de realidade misturada.

Parâmetros

  • holo: capturar hologramas: verdadeiro ou falso (o padrão é false)
  • pv: capturar câmera PV: true ou false (o padrão é false)
  • mic: microfone de captura: verdadeiro ou falso (o padrão é false)
  • loopback: capturar áudio do aplicativo: verdadeiro ou falso (o padrão é false)
  • RenderFromCamera: (somente HoloLens 2) renderizar da perspectiva da câmera de foto/vídeo: verdadeiro ou falso (o padrão é true)
  • vstab: (somente HoloLens 2) habilitar a estabilização de vídeo: true ou false (o padrão é true)
  • vstabbuffer: (somente HoloLens 2) latência do buffer de estabilização de vídeo: 0 a 30 quadros (o padrão é 15 quadros)

/api/holographic/mrc/video/control/stop (POST)

Interrompe a gravação de realidade misturada atual.

streaming do Realidade Misturada

Cuidado

Devido ao isolamento de loopback, você não pode se conectar ao streaming de realidade misturada de dentro de um aplicativo em um dispositivo.

O HoloLens dá suporte à visualização ao vivo da realidade misturada por meio do download em partes de um mp4 fragmentado.

Os fluxos de realidade misturada compartilham o mesmo conjunto de parâmetros para controlar o que é capturado:

  • holo: capturar hologramas: verdadeiro ou falso
  • pv: capturar câmera PV: verdadeiro ou falso
  • mic: microfone de captura: verdadeiro ou falso
  • loopback: capturar áudio do aplicativo: verdadeiro ou falso

Se nenhum deles for especificado, os hologramas, a câmera de foto/vídeo e o áudio do aplicativo serão capturados.

Se algum for especificado, os parâmetros não especificados usarão como padrão false

Parâmetros opcionais (somente HoloLens 2)

  • RenderFromCamera: renderizar da perspectiva da câmera de foto/vídeo: verdadeiro ou falso (o padrão é true)
  • vstab: habilitar a estabilização de vídeo: true ou false (o padrão é false)
  • vstabbuffer: latência do buffer de estabilização de vídeo: 0 a 30 quadros (o padrão é 15 quadros)

/api/holographic/stream/live.mp4 (GET)

Um fluxo de 1280x720p 30fps 5Mbit.

/api/holographic/stream/live_high.mp4 (GET)

Um fluxo de 1280x720p 30fps 5Mbit.

/api/holographic/stream/live_med.mp4 (GET)

Um fluxo de 854x480p 30fps de 2,5 Mbits.

/api/holographic/stream/live_low.mp4 (GET)

Um fluxo de 428x240p 15fps 0,6Mbit.

Rede

/api/networking/ipconfig (GET)

Obtém a configuração de IP atual.

Informações do sistema operacional

/api/os/info (GET)

Obtém informações do sistema operacional.

/api/os/machinename (GET)

Obtém o nome do computador.

/api/os/machinename (POST)

Define o nome do computador.

Parâmetros

  • name: novo nome do computador, codificado em hex64, para definir como

Controle de simulação de percepção

/api/holographic/simulation/control/mode (GET)

Obtém o modo de simulação.

/api/holographic/simulation/control/mode (POST)

Define o modo de simulação.

Parâmetros

  • mode: modo de simulação: padrão, simulação, remoto, herdado

/api/holographic/simulation/control/stream (DELETE)

Excluir um fluxo de controle.

/api/holographic/simulation/control/stream (GET/WebSocket)

Abra uma conexão WebSocket para um fluxo de controle.

/api/holographic/simulation/control/stream (POST)

Crie um fluxo de controle (a prioridade é necessária) ou poste dados em um fluxo criado (streamId necessário). Espera-se que os dados postados sejam do tipo "application/octet-stream".

/api/holographic/simulation/display/stream (GET/WebSocket)

Solicite um fluxo de vídeo de simulação que contenha o conteúdo renderizado para a exibição do sistema quando estiver no modo "Simulação". Um cabeçalho de descritor de formato simples será enviado inicialmente, seguido por texturas codificadas em H.264, com cada um precedido por um cabeçalho que indica o índice ocular e o tamanho da textura.

Reprodução de simulação de percepção

/api/holographic/simulation/playback/file (DELETE)

Exclua uma gravação.

Parâmetros

  • recording: nome da gravação a ser excluída.

/api/holographic/simulation/playback/file (POST)

Carregar uma gravação.

/api/holographic/simulation/playback/files (GET)

Obtenha todas as gravações.

/api/holographic/simulation/playback/session (GET)

Obter o estado de reprodução atual de uma gravação.

Parâmetros

  • gravação: nome da gravação.

/api/holographic/simulation/playback/session/file (DELETE)

Descarregar uma gravação.

Parâmetros

  • recording: nome da gravação a ser descarregada.

/api/holographic/simulation/playback/session/file (POST)

Carregar uma gravação.

Parâmetros

  • recording: nome da gravação a ser carregada.

/api/holographic/simulation/playback/session/files (GET)

Obter todas as gravações carregadas.

/api/holographic/simulation/playback/session/pause (POST)

Pausar uma gravação.

Parâmetros

  • gravação: nome da gravação.

/api/holographic/simulation/playback/session/play (POST)

Reproduzir uma gravação.

Parâmetros

  • gravação: nome da gravação.

/api/holographic/simulation/playback/session/stop (POST)

Pare uma gravação.

Parâmetros

  • gravação: nome da gravação.

/api/holographic/simulation/playback/session/types (GET)

Obtenha os tipos de dados em uma gravação carregada.

Parâmetros

  • gravação: nome da gravação.

Gravação de simulação de percepção

/api/holographic/simulation/recording/start (POST)

Inicie uma gravação. Somente uma única gravação pode estar ativa ao mesmo tempo. Uma delas deve ser definida: cabeça, mãos, spatialMapping ou ambiente.

Parâmetros

  • cabeçalho: defina como 1 para registrar dados de cabeçalho.
  • hands: defina como 1 para registrar dados de mão.
  • spatialMapping: defina como 1 para registrar o mapeamento espacial.
  • ambiente: defina como 1 para registrar dados de ambiente.
  • name: nome da gravação.
  • singleSpatialMappingFrame: defina como 1 para registrar apenas um único quadro de mapeamento espacial.

/api/holographic/simulation/recording/status (GET)

Obter estado de gravação.

/api/holographic/simulation/recording/stop (GET)

Interrompa a gravação atual. A gravação será retornada como um arquivo.

Dados de desempenho

/api/resourcemanager/processes (GET)

Retorna a lista de processos em execução com detalhes.

Retornar dados

  • JSON com lista de processos e detalhes para cada processo

/api/resourcemanager/systemperf (GET)

Retorna estatísticas de perf do sistema (leitura/gravação de E/S, estatísticas de memória etc.

Retornar dados

  • JSON com informações do sistema: CPU, GPU, Memória, Rede, E/S

Energia

/api/power/battery (GET)

Obtém o estado atual da bateria.

/api/power/state (GET)

Verifica se o sistema está em um estado de baixa potência.

Controle remoto

/api/control/restart (POST)

Reinicia o dispositivo de destino.

/api/control/shutdown (POST)

Desliga o dispositivo de destino.

Gerenciador de Tarefas

/api/taskmanager/app (DELETE)

Interrompe um aplicativo moderno.

Parâmetros

  • package: nome completo do pacote do aplicativo, codificado em hex64
  • forcestop: forçar todos os processos a parar (=sim)

/api/taskmanager/app (POST)

Inicia um aplicativo moderno

Parâmetros

  • appid: PRAID do aplicativo a ser iniciado, codificado em hex64
  • package: nome completo do pacote do aplicativo, codificado em hex64

Gerenciamento de WiFi

/api/wifi/interfaces (GET)

Enumera interfaces de rede sem fio.

Retornar dados

  • Lista de interfaces sem fio com detalhes (GUID, descrição etc.)

/api/wifi/network (DELETE)

Exclui um perfil associado a uma rede em uma interface especificada.

Parâmetros

  • interface: guid do adaptador de rede
  • perfil: nome do perfil

/api/wifi/networks (GET)

Enumera redes sem fio no adaptador de rede especificado.

Parâmetros

  • interface: guid do adaptador de rede

Retornar dados

  • Lista de redes sem fio encontradas no adaptador de rede com detalhes

/api/wifi/network (POST)

Conecta ou desconecta-se a uma rede na interface especificada.

Parâmetros

  • interface: guid do adaptador de rede
  • ssid: ssid, hex64 codificado, para se conectar a
  • op: conectar ou desconectar
  • createprofile: sim ou não
  • chave: chave compartilhada, hex64 codificada

Gravador de Desempenho do Windows

/api/wpr/customtrace (POST)

Carrega um perfil WPR e inicia o rastreamento usando o perfil carregado.

Carga útil

  • corpo http em conformidade com várias partes

Retornar dados

  • Retorna a sessão WPR status.

/api/wpr/status (GET)

Recupera o status da sessão WPR

Retornar dados

  • status de sessão do WPR.

/api/wpr/trace (GET)

Interrompe uma sessão de rastreamento WPR (desempenho).

Retornar dados

  • Retorna o arquivo ETL de rastreamento

/api/wpr/trace (POST)

Inicia uma sessão de rastreamento WPR (desempenho).

Parâmetros

  • perfil: nome do perfil. Os perfis disponíveis são armazenados em perfprofiles/profiles.json

Retornar dados

  • Ao iniciar, retorna a sessão WPR status.

Confira também