> ## 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.

# XStoreQueryProductsResult

> XStoreQueryProductsResult

Gets the results for a call to [XStoreQueryProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductsasync.md).

## Syntax

```cpp theme={null}
HRESULT XStoreQueryProductsResult(  
         XAsyncBlock* async,  
         XStoreProductQueryHandle* productQueryHandle  
)  
```

### Parameters

*async*   \_Inout\_\
Type: [XAsyncBlock\*](https://docs.xbox.com/reference/system/xasync/structs/xasyncblock.md)

The `XAsyncBlock` passed to [XStoreQueryProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductsasync.md).
Use the [XAsyncBlock](https://docs.xbox.com/reference/system/xasync/structs/xasyncblock.md) to check the call's status and get the results.
For more information, see [XAsyncBlock](https://docs.xbox.com/reference/system/xasync/structs/xasyncblock.md).

*productQueryHandle*   \_Out\_\
Type: XStoreProductQueryHandle\*

On return, contains a XStoreProductQueryHandle representing the query. The returned XStoreProductQueryHandle can be passed to [XStoreEnumerateProductsQuery](https://docs.xbox.com/reference/system/xstore/functions/xstoreenumerateproductsquery.md) to enumerate the products the query returned.

### Return value

Type: HRESULT

S\_OK on success; otherwise, returns an error code.

## Remarks

Use this result function to get the execution results of [XStoreQueryProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductsasync.md). If the execution succeeds, it returns the listing information.
Call this function after [XStoreQueryProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductsasync.md), usually in the context of a callback function.

For a usage example, see [XStoreQueryProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductsasync.md).

## Requirements

**Header:** XStore.h (included in XGameRuntime.h)

**Library:** xgameruntime.lib

**Supported platforms:** Windows, XBOX One family consoles, and XBOX Series consoles

## Conceptual documentation

* [Granting players access to add-on content](https://docs.xbox.com/publishing/xstore-commerce/xstore-granting-access.md)

## See also

[XStore](https://docs.xbox.com/reference/system/xstore/xstore_members.md)\
[XStoreQueryAssociatedProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryassociatedproductsasync.md)\
[XStoreQueryEntitledProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryentitledproductsasync.md)\
[XStoreQueryProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductsasync.md)\
[XStoreQueryProductForCurrentGameAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductforcurrentgameasync.md)\
[XStoreQueryProductForPackageAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductforpackageasync.md)\
[Basic store operations](https://docs.xbox.com/publishing/xstore-commerce/xstore-basic-operations.md)\
[Granting players access to add-on content](https://docs.xbox.com/publishing/xstore-commerce/xstore-granting-access.md)


## Related topics

- [XStoreEnumerateProductsQuery](https://docs.xbox.com/reference/system/xstore/functions/xstoreenumerateproductsquery.md)
- [XStoreCloseProductsQueryHandle](https://docs.xbox.com/reference/system/xstore/functions/xstorecloseproductsqueryhandle.md)
- [XStoreQueryProductsAsync](https://docs.xbox.com/reference/system/xstore/functions/xstorequeryproductsasync.md)
- [XStoreProductsQueryHasMorePages](https://docs.xbox.com/reference/system/xstore/functions/xstoreproductsqueryhasmorepages.md)
- [XStoreProductsQueryNextPageAsync](https://docs.xbox.com/reference/system/xstore/functions/xstoreproductsquerynextpageasync.md)
