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

# XAsyncRun

> XAsyncRun

# XAsyncRun

指定されたコールバック関数を非同期に実行します。

## Syntax

```cpp theme={null}
HRESULT XAsyncRun(  
         XAsyncBlock* asyncBlock,  
         XAsyncWork* work  
)  
```

### Parameters

*asyncBlock*   \_Inout\_\
型: [XAsyncBlock\*](https://docs.xbox.com/ja-jp/reference/system/xasync/structs/xasyncblock.md)

非同期呼び出しを追跡するために使用される [XAsyncBlock](https://docs.xbox.com/ja-jp/reference/system/xasync/structs/xasyncblock.md) へのポインター。

*work*   \_In\_\
型: [XAsyncWork\*](https://docs.xbox.com/ja-jp/reference/system/xasync/functions/xasyncwork.md)

非同期に実行するコールバック関数へのポインター。

### Return value

型: [HRESULT](https://learn.microsoft.com/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a)

成功した場合は `S_OK` を返します。それ以外の場合はエラー コードを返します。エラー コードの一覧については、[Error Codes](https://docs.xbox.com/ja-jp/reference/errorcodes.md) を参照してください。

## Remarks

`XAsyncRun` は、*work* に指定されたコールバック関数を非同期に実行するヘルパー関数です。*asyncBlock* に指定された `XAsyncBlock` を使用して、コールバック関数のキャンセルまたは状態の取得を行うことができます。`XAsyncRun` は内部的に、以下の `XAsyncProvider` 関数を使用してコールバック関数を実行および追跡します:

* [XAsyncBegin](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncbegin.md)
* [XAsyncComplete](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasynccomplete.md)
* [XAsyncSchedule](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncschedule.md)

`XAsyncProvider` および `XAsyncBlock` を使用して独自の非同期機能を実装する方法の詳細については、[Asynchronous Programming Model](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-programming-model.md) を参照してください。

## Requirements

**ヘッダー:** XAsync.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## Conceptual documentation

* [Run Microsoft Game Development Kit (GDK) API task](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task.md)
* [Run simple task](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)
* [XAsync library overview](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync.md)
* [Set up cancelability](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)
* [Set up custom provider](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider.md)
* [Asynchronous Programming Model](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-programming-model.md)
* [Generic async task wrapper](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-task-function-example.md)

## See also

[XAsync Members](https://docs.xbox.com/ja-jp/reference/system/xasync/xasync_members.md)\
[XAsyncProvider Members](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/xasyncprovider_members.md)\
[Asynchronous Programming Model](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-programming-model.md)


## Related topics

- [XAsyncWork](https://docs.xbox.com/ja-jp/reference/system/xasync/functions/xasyncwork.md)
- [単純なタスクの実行例](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)
- [XNetworkingQueryPreferredLocalUdpMultiplayerPortAsync](https://docs.xbox.com/ja-jp/reference/networking/xnetworking/functions/xnetworkingquerypreferredlocaludpmultiplayerportasync.md)
- [汎用非同期タスク ラッパー](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-task-function-example.md)
- [キャンセル可能性のセットアップ例](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)
