XStoreQueryConsumableBalanceRemainingAsync
指定された製品 ID に対する消耗品アイテムの残高を取得します。
構文
HRESULT XStoreQueryConsumableBalanceRemainingAsync(
const XStoreContextHandle storeContextHandle,
const char* storeProductId,
XAsyncBlock* async
)
パラメーター
storeContextHandle _In_
型: XStoreContextHandle
XStoreCreateContext によって返されるユーザーの Microsoft Store コンテキスト ハンドル。
storeProductId _In_z_
型: char*
残高を取得する消耗品アイテムの ID。
async _Inout_
型: XAsyncBlock*
行われている非同期処理が定義されている XAsyncBlock。 XAsyncBlock を使用して、呼び出しのステータスをポーリングし、呼び出しの結果を取得できます。 詳細については、「XAsyncBlock」を参照してください。
戻り値
型: HRESULT
HRESULT 成功またはエラー コード。
解説
この関数の実行結果と残りの消耗品アイテムを取得するには、この関数を呼び出した後で、XStoreQueryConsumableBalanceRemainingResult を呼び出します。 XStoreQueryConsumableBalanceRemainingResult は、XStoreQueryConsumableBalanceRemainingAsync のコールバック関数内で実行する必要があります。 次のコード スニペットでは、指定された製品 ID の消耗品アイテムの残高を取得する例を示します。
void CALLBACK QueryConsumableBalanceRemainingCallback(XAsyncBlock* asyncBlock)
{
XStoreConsumableResult result{};
HRESULT hr = XStoreQueryConsumableBalanceRemainingResult(
asyncBlock,
&result);
if (FAILED(hr))
{
printf("Failed retrieve the consumable balance remaining: 0x%x\r\n", hr);
return;
}
printf("quantity: %d\r\n", result.quantity);
}
void QueryConsumableBalanceRemaining(XStoreContextHandle storeContextHandle, XTaskQueueHandle taskQueueHandle, const char* storeId)
{
auto asyncBlock = std::make_unique<XAsyncBlock>();
ZeroMemory(asyncBlock.get(), sizeof(*asyncBlock));
asyncBlock->queue = taskQueueHandle;
asyncBlock->callback = QueryConsumableBalanceRemainingCallback;
HRESULT hr = XStoreQueryConsumableBalanceRemainingAsync(
storeContextHandle,
storeId,
asyncBlock.get());
if (FAILED(hr))
{
printf("Failed to get consumable balance remaining: 0x%x\r\n", hr);
return;
}
}
要件
ヘッダー: XStore.h (XGameRuntime.h に含まれます)
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体
関連項目
XStore
XStoreQueryConsumableBalanceRemainingResult
XStoreCreateContext