Skip to main content

XStoreQueryPackageUpdatesAsync

Retrieves a list of available updates for the packages specified in the argument. Use this list to download and install the updates.

Syntax

Parameters

storeContextHandle   _In_
Type: XStoreContextHandle
The store context handle for the user returned by XStoreCreateContext. packageIdentifiers   _In_z_count_(packageIdentifiersCount)
Type: char**
List of package identifier strings. A package identifier uniquely identifies a package from the Microsoft Store. For more information about package identifiers, see Manage and license downloadable content (DLC). packageIdentifiersCount   _In_
Type: size_t
The number of identifiers in packageIdentifiers. async   _Inout_
Type: XAsyncBlock*
An XAsyncBlock that defines the asynchronous work. Use the XAsyncBlock to poll for the call’s status and retrieve call results. For more information, see XAsyncBlock.

Return value

Type: HRESULT HRESULT success or error code.

Remarks

To get the package identifier of the currently running game, use XPackageGetCurrentProcessPackageIdentifier or use XPackageEnumeratePackages to get the package identifiers of DLC and related games. To retrieve the list of available updates and the execution result of this function, call XStoreQueryPackageUpdatesResult after calling this function. To get the number of updates to retrieve, call XStoreQueryPackageUpdatesResultCount after calling this function. The result count function is important as it allows you to determine the appropriate size of array to pass to the result function. The following code snippet shows an example of retrieving game and optional updates for the packages specified.

Requirements

Header: XStore.h (included in XGameRuntime.h) Library: xgameruntime.lib Supported platforms: Windows, XBOX One family consoles, and XBOX Series consoles

Conceptual documentation

See also

XStore
XStoreQueryPackageUpdatesResult
XStoreQueryPackageUpdatesResultCount
Last modified on August 20, 2026