XStoreShowRedeemTokenUIAsync
指定されたトークンの現在のユーザーに対してトークンの使用をトリガーします。
構文
HRESULT XStoreShowRedeemTokenUIAsync(
const XStoreContextHandle storeContextHandle,
const char* token,
const char** allowedStoreIds,
size_t allowedStoreIdsCount,
bool disallowCsvRedemption,
XAsyncBlock* async
)
パラメーター
storeContextHandle _In_
型: XStoreContextHandle
XStoreCreateContext によって返されるユーザーの Microsoft Store コンテキスト ハンドル。
token _In_z_
型: char*
使うトークン。 UI に単一スペース " " を事前入力するコードを提供せずに UI を表示する場合、この値を空または null にすることはできません。
allowedStoreIds _In_z_count_(allowedStoreIdsCount)
型: char**
5x5 コードが特定の製品でのみ動作するように制限できます。
allowedStoreIdsCount _In_
型: size_t
allowedStoreIds 内の要素の数。
disallowCsvRedemption _In_
型: bool
CSV (ギフト カード/マネー スタイルの 5x5) が使われるのを防ぎます。
async _Inout_
型: XAsyncBlock*
行われている非同期処理が定義されている XAsyncBlock。 XAsyncBlock を使用して、呼び出しのステータスをポーリングし、呼び出しの結果を取得できます。 詳細については、「XAsyncBlock」を参照してください。
戻り値
型: HRESULT
HRESULT 成功またはエラー コード。
解説
この関数の実行結果を取得するには、この関数を呼び出した後で XStoreShowRedeemTokenUIResult を呼び出します。
次のコード スニペットでは、トークン使用 UI を起動する例を示します。
void CALLBACK ShowRedeemTokenUICallback(XAsyncBlock* asyncBlock)
{
HRESULT hr = XStoreShowRedeemTokenUIResult(asyncBlock);
if (FAILED(hr))
{
printf("Failed redeem token: 0x%x\r\n", hr);
return;
}
}
void ShowRedeemTokenUI(XStoreContextHandle storeContextHandle, XTaskQueueHandle taskQueueHandle, const char* token)
{
auto asyncBlock = std::make_unique<XAsyncBlock>();
ZeroMemory(asyncBlock.get(), sizeof(*asyncBlock));
asyncBlock->queue = taskQueueHandle;
asyncBlock->callback = ShowRedeemTokenUICallback;
HRESULT hr = XStoreShowRedeemTokenUIAsync(
storeContextHandle,
token,
nullptr, // Can restrict to specific store IDs
0,
false, // Can prevent CSV (cash gift cards)
asyncBlock.get());
if (FAILED(hr))
{
printf("Failed to request redeem token: 0x%x\r\n", hr);
return;
}
}
要件
ヘッダー: XStore.h (XGameRuntime.h に含まれます)
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体