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

# XUserPlatformSpopPromptEventHandler

> XUserPlatformSpopPromptEventHandler

Show prompt for SPOP operation event handler

## Syntax

```cpp theme={null}
typedef void (XUserPlatformSpopPromptEventHandler)(
    _In_opt_ void* context,
    _In_ uint32_t userIdentifier,
    _In_ XUserPlatformOperation operation,
    _In_z_ char const* modernGamertag,
    _In_opt_z_ char const* modernGamertagSuffix
);
```

### Parameters

*context*   \_In\_opt\_\
Type: void\*

Optional pointer to data used by the event handler.

*userIdentifier*   \_In\_\
Type: uint32\_t

The user identifier that was passed to XUser when the user was added.

*operation*   \_In\_\
Type: XUserPlatformOperation

The handle for this operation.

*modernGamertag*   \_In\_z\_\
Type: char const\*

The modern gamertag of the user.

*modernGamertagSuffix*   \_In\_opt\_z\_\
Type: char const\*

The modern gamertag suffix, if present. May be null for certain users.

### Return value

This callback doesn't return a value.

### Remarks

This event is raised when the user is already signed in on a different device and therefore hits an SPOP veto. XUser needs to prompt the user to decide whether they want to sign-out the other session and sign-in on the current device. This will only occur as a response to a call to [XUserAddAsync](https://docs.xbox.com/reference/system/xuser/functions/xuseraddasync.md) that resulted in an SPOP veto.

The modern gamertag suffix might be null for certain users.

All arguments are owned by the caller (except context).

## Requirements

**Header:** XUser.h

**Library:** xgameruntime.lib

**Supported platforms:** Supported on Steam Deck

## See also

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

[XUserPlatformSpopPromptSetEventHandlers](https://docs.xbox.com/reference/system/xuser/functions/xuserplatformspoppromptseteventhandlers.md)

[XUserPlatformSpopPromptComplete](https://docs.xbox.com/reference/system/xuser/functions/xuserplatformspoppromptcomplete.md)

[XUserPlatformSpopOperationResult](https://docs.xbox.com/reference/system/xuser/enums/xuserplatformspopoperationresult.md)


## Related topics

- [XUserPlatformSpopPromptSetEventHandlers](https://docs.xbox.com/reference/system/xuser/functions/xuserplatformspoppromptseteventhandlers.md)
- [XUserPlatformSpopPromptComplete](https://docs.xbox.com/reference/system/xuser/functions/xuserplatformspoppromptcomplete.md)
- [XUserPlatformSpopOperationResult](https://docs.xbox.com/reference/system/xuser/enums/xuserplatformspopoperationresult.md)
- [XUser (API contents)](https://docs.xbox.com/reference/system/xuser/xuser_members.md)
- [Steam Deck Implementation Guide for PlayFab Game Saves](https://docs.xbox.com/services/playfab/player-progression/game-saves/steam-deck-implementation.md)
