> ## 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\_\
형식: [XTaskQueueRegistrationToken](/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken)

[XNetworkingRegisterPreferredLocalUdpMultiplayerPortChanged](/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](/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](/ko/reference/networking/xnetworking/functions/xnetworkingregisterpreferredlocaludpmultiplayerportchanged.md)
- [XNetworking](/ko/reference/networking/xnetworking/xnetworking_members.md)
- [XTaskQueueRegistrationToken](/ko/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md)
- [GDK용 Unity C# API 래퍼](/ko/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XNetworkingPreferredLocalUdpMultiplayerPortChangedCallback](/ko/reference/networking/xnetworking/functions/xnetworkingpreferredlocaludpmultiplayerportchangedcallback.md)
