> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XNetworkingUnregisterPreferredLocalUdpMultiplayerPortChanged

> XNetworkingUnregisterPreferredLocalUdpMultiplayerPortChanged

# XNetworkingUnregisterPreferredLocalUdpMultiplayerPortChanged

[XNetworkingRegisterPreferredLocalUdpMultiplayerPortChanged](/reference/networking/xnetworking/functions/xnetworkingregisterpreferredlocaludpmultiplayerportchanged) で登録されたコールバック関数の登録を解除します。

## 構文

```cpp theme={null}
bool XNetworkingUnregisterPreferredLocalUdpMultiplayerPortChanged(
         XTaskQueueRegistrationToken token,
         bool wait
)
```

### パラメーター

*token*   \_In\_\
Type: [XTaskQueueRegistrationToken](/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken)

[XNetworkingRegisterPreferredLocalUdpMultiplayerPortChanged](/reference/networking/xnetworking/functions/xnetworkingregisterpreferredlocaludpmultiplayerportchanged) から返されたトークン。

*wait*   \_In\_\
Type: bool

保留中のコールバックが完了するまでブロックするかどうかを示します。

### 戻り値

Type: bool

*wait* が false で登録解除の呼び出しが保留中の場合は false を返します。それ以外の場合は true を返します。

## 解説

<Note>この関数は、*wait* パラメーターが false の場合にのみ、時間的制約のあるスレッドで安全に呼び出すことができます。詳細については、[時間的制約のあるスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads) を参照してください。</Note>

この関数は次のアクションを実行します。

* トークンに関連付けられたコールバックが、登録されているコールバックのセットから削除されます。
* そのコールバック トークンに対して実行中のコールバックがない場合、呼び出しは true を返します。
* コールバックが実行中で *wait* が true の場合、実行中のコールバックが終了するまで呼び出しはブロックされます。
* コールバックが実行中で *wait* が false の場合、呼び出しはブロックされませんが false を返します。トークンのコールバックが完了すると、トークンは自動的に登録解除されます。

<Note>この関数は、デッドロックが発生するため、*wait* が true の場合は [XNetworkingPreferredLocalUdpMultiplayerPortChangedCallback](/reference/networking/xnetworking/functions/xnetworkingpreferredlocaludpmultiplayerportchangedcallback) 内から呼び出さないでください。</Note>

このメカニズムにより、次のコーディング パターンが可能になります。

* 登録解除呼び出しでブロックすることで、登録解除呼び出し後にコールバックが呼び出されないことを保証できます。
* ブロックしないことを選択することもできます。データを削除する前にコールバックが完了することを保証する必要がある場合は、*wait* を false に設定して、この関数を定期的に呼び出すことができます。最終的に true が返されると、すべてのコールバックが完了しており、状態を削除できます。
* コールバックが登録解除呼び出し中に呼び出されるかどうかを気にしない場合は、*wait* に false を渡して戻り値を無視できます。

## 要件

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

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

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

## 概念ドキュメント

* [時間的制約のあるスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 関連項目

[XNetworkingQueryPreferredLocalUdpMultiplayerPort](/reference/networking/xnetworking/functions/xnetworkingquerypreferredlocaludpmultiplayerport)\
[推奨されるローカル UDP マルチプレイヤー ポート ネットワーキング API](/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking)\
[XNetworking](/reference/networking/xnetworking/xnetworking_members)


## Related topics

- [XNetworkingRegisterPreferredLocalUdpMultiplayerPortChanged](/ja-jp/reference/networking/xnetworking/functions/xnetworkingregisterpreferredlocaludpmultiplayerportchanged.md)
- [XNetworking](/ja-jp/reference/networking/xnetworking/xnetworking_members.md)
- [XTaskQueueRegistrationToken](/ja-jp/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md)
- [GDK 向け Unity C# API ラッパー](/ja-jp/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XNetworkingPreferredLocalUdpMultiplayerPortChangedCallback](/ja-jp/reference/networking/xnetworking/functions/xnetworkingpreferredlocaludpmultiplayerportchangedcallback.md)
