> ## 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](/zh-TW/reference/networking/xnetworking/functions/xnetworkingregisterpreferredlocaludpmultiplayerportchanged) 註冊的回呼函式。

## 語法

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

### 參數

*token*   \_In\_\
類型：[XTaskQueueRegistrationToken](/zh-TW/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken)

從 [XNetworkingRegisterPreferredLocalUdpMultiplayerPortChanged](/zh-TW/reference/networking/xnetworking/functions/xnetworkingregisterpreferredlocaludpmultiplayerportchanged) 傳回的權杖。

*wait*   \_In\_\
類型：bool

指出是否要封鎖直到所有擱置中的回呼完成為止。

### 傳回值

類型：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](/zh-TW/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](/zh-TW/reference/networking/xnetworking/functions/xnetworkingquerypreferredlocaludpmultiplayerport)\
[慣用本機 UDP 多人遊戲連接埠網路 API](/zh-TW/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking)\
[XNetworking](/zh-TW/reference/networking/xnetworking/xnetworking_members)


## Related topics

- [XNetworkingUnregisterPreferredLocalUdpMultiplayerPortChanged](/reference/networking/xnetworking/functions/xnetworkingunregisterpreferredlocaludpmultiplayerportchanged.md)
- [XNetworkingRegisterPreferredLocalUdpMultiplayerPortChanged](/reference/networking/xnetworking/functions/xnetworkingregisterpreferredlocaludpmultiplayerportchanged.md)
