> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XStoreRegisterPackageLicenseLost

> XStoreRegisterPackageLicenseLost

# XStoreRegisterPackageLicenseLost

Registra um retorno de chamada para o evento de perda de licença.
Use esta API para registrar licenças de duráveis adquiridas por meio de [XStoreAcquireLicenseForPackageAsync](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md) e [XStoreAcquireLicenseForDurablesAsync](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicensefordurablesasync.md).

## Sintaxe

```cpp theme={null}
HRESULT XStoreRegisterPackageLicenseLost(  
         XStoreLicenseHandle licenseHandle,  
         XTaskQueueHandle queue,  
         void* context,  
         XStorePackageLicenseLostCallback* callback,  
         XTaskQueueRegistrationToken* token  
)  
```

### Parâmetros

*licenseHandle*   \_In\_\
Tipo: XStoreLicenseHandle

O identificador de licença para o qual registrar o retorno de chamada.

*queue*   \_In\_\
Tipo: XTaskQueueHandle

Fila assíncrona para lidar com o trabalho assíncrono.

*context*   \_In\_opt\_\
Tipo: void\*

Contexto definido pelo título a ser passado para o retorno de chamada.

*callback*   \_In\_\
Tipo: XStorePackageLicenseLostCallback\*

O retorno de chamada a ser registrado.

*token*   \_Out\_\
Tipo: [XTaskQueueRegistrationToken\*](https://docs.xbox.com/pt-BR/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md)

Em caso de êxito, contém um token usado para identificar o retorno de chamada.

### Valor retornado

Tipo: HRESULT

Código de êxito ou de erro HRESULT.

## Comentários

Esta função registra a função de retorno de chamada definida por [XStorePackageLicenseLostCallback](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstorepackagelicenselostcallback.md).
A função de retorno de chamada registrada é chamada quando ocorre o próximo evento de perda de licença de durável.
A função de retorno de chamada não é chamada durante o registro.
Um evento de perda de licença geralmente ocorre quando a conta que fez a compra sai do dispositivo e a licença compartilhada anteriormente não está disponível para o usuário atual.
Para evitar um vazamento de memória, você deve chamar [XStoreUnregisterPackageLicenseLost](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreunregisterpackagelicenselost.md) quando terminar de usar a função de retorno de chamada.

Uma licença de durável pode ser perdida a qualquer momento devido a uma mudança de usuário, mudança de rede, verificação de simultaneidade ou expiração da licença no dispositivo.
Um jogo deve se registrar para eventos de perda de licença e tentar readquirir a licença do durável quando o retorno de chamada for disparado.
Os eventos de perda de licença podem ajudar a detectar quando o sistema retorna erroneamente ao jogador atual uma licença em cache que pertence a outra conta.
Nesses casos, um evento de perda de licença é disparado imediatamente e, quando XStoreAcquireLicense\* é chamada novamente, uma nova licença é fornecida.

Para obter um exemplo de uso, confira [XStoreAcquireLicenseForPackageAsync](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md).

## Requisitos

**Cabeçalho:** XStore.h (incluído em XGameRuntime.h)

**Biblioteca:** xgameruntime.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Conceder aos jogadores acesso ao conteúdo de complementos](https://docs.xbox.com/pt-BR/publishing/xstore-commerce/xstore-granting-access.md)
* [Habilitar o teste de licenciamento](https://docs.xbox.com/pt-BR/publishing/xstore-commerce/xstore-licensing-setup.md)

## Confira também

[XStore](https://docs.xbox.com/pt-BR/reference/system/xstore/xstore_members.md)\
[XStoreAcquireLicenseForPackageAsync](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md)\
[XStoreAcquireLicenseForPackageResult](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageresult.md)\
[XStoreIsLicenseValid](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreislicensevalid.md)\
[XStoreCloseLicenseHandle](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstorecloselicensehandle.md)\
[XStorePackageLicenseLostCallback](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstorepackagelicenselostcallback.md)\
[XStoreUnregisterPackageLicenseLost](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreunregisterpackagelicenselost.md)\
[Conceder aos jogadores acesso ao conteúdo de complementos](https://docs.xbox.com/pt-BR/publishing/xstore-commerce/xstore-granting-access.md)


## Related topics

- [XStorePackageLicenseLostCallback](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstorepackagelicenselostcallback.md)
- [XStoreUnregisterPackageLicenseLost](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreunregisterpackagelicenselost.md)
- [XStoreAcquireLicenseForPackageResult](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageresult.md)
- [XStoreIsLicenseValid](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreislicensevalid.md)
- [XStoreCloseLicenseHandle](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstorecloselicensehandle.md)
