Skip to main content

XStoreQueryAssociatedProductsForStoreIdAsync

取得與目標產品 (以其 Store ID 指定) 相關之可購買產品的商店清單資訊。

語法

參數

storeContextHandle   _In_
類型:XStoreContextHandle
由 XStoreCreateContext 傳回之使用者的商店內容控制代碼。 storeId   _In_
類型:const char*
要擷取其相關聯產品之產品的 Store ID。 productKinds   _In_
類型:XStoreProductKind
要傳回的產品類型。 maxItemsToRetrievePerPage   _In_
類型:uint32_t
每頁要擷取的項目數目上限。 每頁傳回的項目數目可介於 0 到 maxItemsToRetrievePerPage 之間。 async   _Inout_
類型:XAsyncBlock*
定義正在進行之非同步工作的 XAsyncBlock。 使用 XAsyncBlock 來輪詢呼叫的狀態並擷取呼叫結果。 如需詳細資訊,請參閱 XAsyncBlock。

傳回值

類型:HRESULT HRESULT 成功或錯誤碼。

備註

若要取得此函式的商店清單資訊與執行結果,請在呼叫此函式之後呼叫 XStoreQueryAssociatedProductsForStoreIdResult。 XStoreQueryAssociatedProductsForStoreIdResult 包含一個 XStoreProductQueryHandle,可藉由呼叫 XStoreEnumerateProductsQuery 來列舉。
此 API 支援與 XStoreQueryAssociatedProductsAsync 中所述相同的分頁模式。分頁在沙箱與 RETAIL 之間的行為可能不同。 請驗證您的分頁實作,並務必在發行前於 RETAIL 中進行測試。如需詳細資訊,請參閱分頁。
您無法事先得知此查詢會傳回的產品數目。 使用此 API 可透過目標產品的 Store ID,尋找與其相關聯的附加元件。 此功能對於系列遊戲中心特別有用。系列遊戲中心可以列舉多個遊戲的附加元件,但無法分辨這些附加元件與哪個遊戲相關聯。 使用情境範例:
  • 開發人員執行 XPackageEnumeratePackages 來列舉已安裝的 XPackageKind::Game 產品,接著針對其中一個遊戲,使用從 XPackageDetails 取得的 storeId 執行 XStoreQueryAssociatedProductsForStoreIdAsync。開發人員針對 XPackageKind::Content 執行 XPackageEnumeratePackages 來列舉已安裝的 DLC。將內容列舉與產品查詢的結果互相比對後,開發人員便能識別出特定遊戲已安裝了哪些 DLC。
  • 開發人員執行 XStoreQueryAssociatedProductsAsync 以取得與目前遊戲相關聯的可購買產品清單。接著,使用目標遊戲之 XStoreProduct 中的 storeId,開發人員執行 XStoreQueryAssociatedProductsForStoreIdAsync 來找出與其相關聯的 DLC。
下列程式碼片段示範如何透過目標產品的 Store ID,查詢與其相關聯的產品。 結果會跨多個頁面處理。

需求

標頭: XStore.h (包含在 XGameRuntime.h 中) 程式庫: xgameruntime.lib 支援的平台: Windows、XBOX One 系列主機和 XBOX Series 主機

概念文件

另請參閱

XStore
XStoreQueryAssociatedProductsForStoreIdResult
XStoreQueryAssociatedProductsAsync
XStoreEnumerateProductsQuery
XStoreProductsQueryHasMorePages
XStoreProductsQueryNextPageAsync
Last modified on October 6, 2026