XStoreShowRateAndReviewUIAsync
Displays a system dialog to pop up to allow the user to provide a review for the current game or decline to do so.
Syntax
HRESULT XStoreShowRateAndReviewUIAsync(
const XStoreContextHandle storeContextHandle,
XAsyncBlock* async
)
Parameters
storeContextHandle _In_
Type: XStoreContextHandle
The store context handle for the user returned by XStoreCreateContext.
async _Inout_
Type: XAsyncBlock*
An XAsyncBlock defining the asynchronous work being done. The XAsyncBlock can be used to poll for the call's status and retrieve call results. See XAsyncBlock for more information.
Return value
Type: HRESULT
HRESULT success or error code.
Remarks
To retrieve the execution result of this function call XStoreShowRateAndReviewUIResult after calling this function.
If the system detects a game is calling this excessively, it will hide the dialog and automatically return CanceledByUser.
The following code snippet shows an example of displaying a review dialog.
void CALLBACK ShowRateAndReviewUICallback(XAsyncBlock* asyncBlock)
{
XStoreRateAndReviewResult result{};
HRESULT hr = XStoreShowRateAndReviewUIResult(
asyncBlock,
&result);
if (FAILED(hr))
{
printf("Failed to rate and review: 0x%x\r\n", hr);
return;
}
printf("result.wasUpdated: %s\r\n", result.wasUpdated ? "true" : "false");
}
void ShowRateAndReviewUI(XStoreContextHandle storeContextHandle, XTaskQueueHandle taskQueueHandle)
{
auto asyncBlock = std::make_unique<XAsyncBlock>();
ZeroMemory(asyncBlock.get(), sizeof(*asyncBlock));
asyncBlock->queue = taskQueueHandle;
asyncBlock->callback = ShowRateAndReviewUICallback;
HRESULT hr = XStoreShowRateAndReviewUIAsync(
storeContextHandle,
asyncBlock.get());
if (FAILED(hr))
{
printf("Failed rate and review: 0x%x\r\n", hr);
return;
}
}
Requirements
Header: XStore.h (included in XGameRuntime.h)
Library: xgameruntime.lib
Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles