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

# XUserDeviceAssociationChange

> XUserDeviceAssociationChange

# XUserDeviceAssociationChange

指定裝置關聯變更時的舊裝置關聯和新裝置關聯。

## 語法

```cpp theme={null}
typedef struct XUserDeviceAssociationChange {  
    APP_LOCAL_DEVICE_ID deviceId;  
    XUserLocalId oldUser;  
    XUserLocalId newUser;  
} XUserDeviceAssociationChange  
```

### 成員

*deviceId*\
類型：[APP\_LOCAL\_DEVICE\_ID](https://docs.xbox.com/zh-TW/reference/system/xuser/structs/app_local_device_id.md)

使用者關聯發生變更之裝置的 ID。

*oldUser*\
類型：[XUserLocalId](https://docs.xbox.com/zh-TW/reference/system/xuser/structs/xuserlocalid.md)

與裝置相關聯的舊使用者 ID。

*newUser*\
類型：[XUserLocalId](https://docs.xbox.com/zh-TW/reference/system/xuser/structs/xuserlocalid.md)\
\
與裝置相關聯的新使用者 ID。

## 備註

XUserDeviceAssociationChange 的所有引數都可以是「null」：

* 如果 deviceId 等於 **XUserNullDeviceId**，則使用者變更會套用至所有裝置，其中所有裝置都與已登入的使用者相關聯。
* 如果 oldUser 等於 **XUserNullUserLocalId**，則裝置與使用者的關聯是新的。
* 如果 newUser 等於 **XUserNullUserLocalId**，則現有的裝置與使用者關聯會遺失。

> [!NOTE]
>
> *newUser* 只能參考已透過呼叫 [XUserAddAsync](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuseraddasync.md) 新增至遊戲的使用者。如果使用系統選擇器將輸入裝置與遊戲不認識的使用者配對，newUser 將會等於 **XUserNullUserLocalId**。如需詳細資訊，請參閱[使用者與輸入裝置](https://docs.xbox.com/zh-TW/build/core-features/common/user/users-input-devices.md)。

這些成員應視為原始位元組結構，可以使用 memcmp 或對等的方法進行比較。例如：

```cpp theme={null}
XUserDeviceAssociationChange *change; // incoming argument from callback

if(memcmp(&change->deviceId, &XUserNullDeviceId, sizeof(APP_LOCAL_DEVICE_ID) == 0))
{
}

if(memcmp(&change->newUser, &XUserNullUserLocalId, sizeof(XUserLocalId) == 0))
{
}
```

[XUserDeviceAssociationChangedCallback](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md) 回呼函式會使用 XUserDeviceAssociationChange 結構的指標。

回呼註冊時，回呼函式會將內容傳遞給 [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md) 函式。

[XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md) 函式會註冊使用者裝置關聯變更事件的回呼。

## 需求

**標頭：** XUser.h

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

## 另請參閱

[XUser](https://docs.xbox.com/zh-TW/reference/system/xuser/xuser_members.md)

[XUserDeviceAssociationChangedCallback](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)

[XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md)


## Related topics

- [XUserDeviceAssociationChangedCallback](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserdeviceassociationchangedcallback.md)
- [APP_LOCAL_DEVICE_ID](https://docs.xbox.com/zh-TW/reference/system/xuser/structs/app_local_device_id.md)
- [XUser (API 內容)](https://docs.xbox.com/zh-TW/reference/system/xuser/xuser_members.md)
- [XUserUnregisterForDeviceAssociationChanged](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserunregisterfordeviceassociationchanged.md)
- [XUserRegisterForDeviceAssociationChanged](https://docs.xbox.com/zh-TW/reference/system/xuser/functions/xuserregisterfordeviceassociationchanged.md)
