Microsoft Game Development Kit API タスクを実行する例
このトピックでは、Microsoft Game Development Kit (GDK) API タスクを実行する方法の例を提供します。 非同期 Microsoft Game Development Kit (GDK) API 関数は、作業コールバックを内部的に実装します。 ただし、非同期ブロックで指定されるタスク キューに従って動作します。 これらのメソッドを実行するには、非同期ブロックと、API に必要なすべてのパラメーターが必要です。
// Set up the async block and completion callback.
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = nullptr;
async->callback = [](XAsyncBlock* async)
{
XUserHandle newUser = nullptr;
HRESULT result = XUserAddResult(async, &newUser);
// Handle the completion callback.
delete async;
};
// Start the async call.
HRESULT hr = XUserAddAsync(XUserAddOptions::None, async);
if (FAILED(hr))
{
delete async;
}
このコードは、一般的なタスクを実行するためのコードと大差ありません。 XAsyncRun を処理コールバックと共に使用する代わりに、使用する API を呼び出します。 この非同期ブロックは、同じ方法で設定されます。 違いは、XUserAddAsync では、XUserAddResult を使用して完了コールバックで実行された呼び出しからデータを取得することです。