Skip to main content

XStoreQueryAssociatedProductsAsync

Obtient les informations de fiche du Store pour les produits que les utilisateurs peuvent acheter à partir du jeu en cours.

Syntaxe

Paramètres

storeContextHandle   _In_
Type : XStoreContextHandle
Handle de contexte du Store pour l’utilisateur, retourné par XStoreCreateContext. productKinds   _In_
Type : XStoreProductKind
Type de produits à retourner. maxItemsToRetrievePerPage   _In_
Type : uint32_t
Nombre maximal d’éléments à récupérer par page. Le nombre d’éléments retournés par page peut varier de 0 à maxItemsToRetrievePerPage. Pour plus d’informations, consultez Pagination. async   _Inout_
Type : XAsyncBlock*
XAsyncBlock définissant le travail asynchrone en cours. Utilisez le XAsyncBlock pour interroger l’état de l’appel et récupérer les résultats de l’appel. Pour plus d’informations, consultez XAsyncBlock.

Valeur de retour

Type : HRESULT Code de réussite ou d’erreur HRESULT.

Remarques

Pour obtenir les informations de fiche du Store et le résultat d’exécution de cette fonction, appelez XStoreQueryAssociatedProductsResult après avoir appelé cette fonction. XStoreQueryAssociatedProductsResult contient un XStoreProductQueryHandle que vous énumérez en appelant XStoreEnumerateProductsQuery. Vous ne pouvez pas connaître à l’avance le nombre de produits que cette requête retourne. Cette API retourne uniquement les produits que les utilisateurs peuvent parcourir dans le Microsoft Store ou acheter dans le jeu. Les résultats n’incluent aucun produit masqué, expiré ou retiré du Store. Si vous avez besoin des détails d’un tel produit, utilisez XStoreQueryProductsAsync et passez-lui l’ID Store du produit.

Pagination

Cette fonction retourne des produits répartis sur plusieurs pages (jusqu’à maxItemsToRetrievePerPage éléments par page). Utilisez XStoreProductsQueryHasMorePages et XStoreProductsQueryNextPageAsync/XStoreProductsQueryNextPageResult pour traiter tous les résultats paginés. La pagination n’est pas terminée tant que XStoreProductsQueryHasMorePages ne retourne pas false.
La pagination peut se comporter différemment entre les bacs à sable et RETAIL. Dans un bac à sable, les éléments s’accumulent jusqu’à maxItemsToRetrievePerPage avant qu’une page soit retournée. Dans RETAIL, il est courant que 0 à 1 élément soit retourné par page.Il est important que tous les jeux qui utilisent cette API implémentent et testent la pagination avant leur sortie.Pour tester le comportement de la pagination dans un bac à sable, définissez temporairement maxItemsToRetrievePerPage sur une valeur inférieure au nombre de produits publiés dans votre bac à sable. Pour tester dans RETAIL avant la sortie de votre jeu, publiez des produits à l’aide de l’option Enable Private Audience de la page « Pricing and availability » dans Partner Center. Pour tester dans RETAIL après la sortie de votre jeu, utilisez une version d’évaluation de package (package flight).
Le code suivant montre comment récupérer les résultats d’une requête de produits répartis sur plusieurs pages. Assurez-vous que le handle de requête est transmis tout au long de la récursion de pagination afin d’éviter les fuites.

Configuration requise

En-tête : XStore.h (inclus dans XGameRuntime.h) Bibliothèque : xgameruntime.lib Plateformes prises en charge : Windows, consoles de la famille XBOX One et consoles XBOX Series

Documentation conceptuelle

Voir aussi

XStore
XStoreQueryAssociatedProductsResult
XStoreEnumerateProductsQuery
XStoreProductsQueryHasMorePages
XStoreProductsQueryNextPageAsync
Opérations de base du Store
Accorder aux joueurs l’accès au contenu des extensions
Last modified on October 6, 2026