Skip to main content

XStoreAcquireLicenseForDurablesAsync

Acquires a license for a DLC (Durable with a package), Durable without a package, or Durable add-on product.

Syntax

Parameters

storeContextHandle   _In_
Type: XStoreContextHandle
The store context handle for the user, returned by XStoreCreateContext. storeId   _In_z_
Type: char*
The store ID for the durable to acquire a license for. async   _Inout_
Type: XAsyncBlock*
An XAsyncBlock defining the asynchronous work. Use the XAsyncBlock to check for the call’s status and get call results. For more information, see XAsyncBlock.

Return value

Type: HRESULT Returns S_OK upon success, or an error code otherwise.

Remarks

This API attempts to acquire a license for the requested durable. If it’s the first time the device is acquiring the license, a service call is made, therefore requiring an online connection. Subsequent calls for the same license may be faster due to caching, but the license can be invalidated at any time. On Console, offline access requires that ‘Home XBOX’ be enabled for the owning account and the license must first be obtained once while online. For PC, offline access requires that ‘Offline permissions’ be set for the account that owns the license and the license must first be obtained once while online. XStoreRegisterPackageLicenseLost can be used to monitor if the license obtained from this API is lost.

Requirements

Header: XStore.h Library: xgameruntime.lib Supported Platforms: Windows, XBOX One family consoles, and XBOX Series consoles

Conceptual documentation

See also

XStore
XAsyncBlock
XStoreAcquireLicenseForDurablesResult
How to use a durable without a package
Granting players access to add-on content
Last modified on August 20, 2026