Skip to main content

XPackageRegisterInstallationProgressChanged

Registra um retorno de chamada a ser chamado quando o progresso da instalação mudar.

Sintaxe

Parâmetros

installationMonitor   _In_
Tipo: XPackageInstallationMonitorHandle
Um identificador para o monitor de instalação com o qual o retorno de chamada deve ser registrado. context   _In_opt_
Tipo: void*
Contexto a ser passado para o retorno de chamada. callback   _In_
Tipo: XPackageInstallationProgressCallback*
Retorno de chamada definido pelo usuário a ser chamado quando o progresso da instalação mudar. token   _Out_
Tipo: XTaskQueueRegistrationToken*
Um token que identifica o retorno de chamada e que pode ser usado para cancelar o registro do retorno de chamada posteriormente, usando XPackageUnregisterInstallationProgressChanged.

Valor retornado

Tipo: HRESULT Código de sucesso ou de erro HRESULT.

Comentários

Um jogo implementou um marcador de inicialização para que possa ser executado antes de ser totalmente instalado. O jogo precisará saber quais partes estão instaladas e quais não estão. Neste exemplo, o jogo precisa saber quando as partes associadas a uma pista de corrida com o nome de pista especificado estão instaladas:
Vamos examinar cada chamada de API no código mostrado acima:
Todo conteúdo instalado terá um identificador exclusivo. Você pode monitorar a instalação de qualquer pacote se souber o identificador do pacote e tiver acesso a esse conteúdo. Um processo em execução pode obter seu próprio identificador de pacote. Para obter mais informações sobre identificadores de pacote, consulte Gerenciar e licenciar conteúdo baixável (DLC).
Isso cria um monitor que acompanha o estado da instalação. Esse monitor de instalação se atualiza em uma cadência regular. Para obter o progresso atual de uma instalação, chame XPackageGetInstallationProgress; para ser notificado sobre uma alteração durante uma instalação, registre um retorno de chamada. Você pode criar o monitor de instalação para o pacote inteiro ou para um subconjunto específico. Aqui, você definiu um “seletor” que indica que deseja saber o progresso da instalação de um nome de pista. Você pode especificar uma frequência (neste caso, 1000 ms) que indica com que frequência o monitor de instalação atualizará seu instantâneo do progresso, até essa velocidade. Se nenhum progresso tiver sido feito nesse tempo, poderá ser mais lento.
Você quer saber quando a pista terminou de carregar, então registra um evento de alteração de progresso no monitor. Esse retorno de chamada será invocado por meio da fila de tarefas fornecida quando o monitor foi criado, aproximadamente na cadência especificada em XPackageCreateInstallationMonitor. Dentro do retorno de chamada, você pode renderizar o progresso no jogo ou notificar o jogo de que uma pista está pronta. Neste exemplo, você fecha o monitor de instalação, mas não cancela o registro da notificação. O tempo de vida de uma notificação de monitor de instalação está vinculado ao monitor de instalação; portanto, fechar o monitor cancela o registro de todas as notificações associadas a ele.

Requisitos

Cabeçalho: XPackage.h Biblioteca: xgameruntime.lib Plataformas compatíveis: Windows, consoles da família XBOX One e consoles XBOX Series

Documentação conceitual

Confira também

XPackage
Instalação por streaming e Intelligent Delivery
XPackageGetInstallationProgress
XPackageCreateInstallationMonitor
Last modified on October 6, 2026