Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This topic provides example code for handling a social relationship change.
Subscribing to a relationship change
Flat C API
HRESULT hr = XblSocialSubscribeToSocialRelationshipChange(
xboxLiveContext,
xboxUserId,
&state.socialSubscriptionHandle
);
Unsubscribing from a relationship change
Flat C API
HRESULT hr = XblSocialUnsubscribeFromSocialRelationshipChange(
xboxLiveContext,
state.socialSubscriptionHandle
);
state.socialSubscriptionHandle = nullptr;
Adding a relationship-changed handler
Flat C API
state.socialRelationshipChangedHandlerToken = XblSocialAddSocialRelationshipChangedHandler(
xboxLiveContext,
[](const XblSocialRelationshipChangeEventArgs* args, void* context)
{
UNREFERENCED_PARAMETER(context);
LogToFile("Social relationship changed:");
std::stringstream ss;
for (size_t i = 0; i < args->xboxUserIdsCount; ++i)
{
if (i > 0)
{
ss << ", ";
}
ss << args->xboxUserIds[i];
}
LogToFile("socialNotification = %u, affectedXuids = %s", args->socialNotification, ss.str().data());
},
nullptr
);
Removing a relationship-changed handler
Flat C API
HRESULT hr = XblSocialRemoveSocialRelationshipChangedHandler(xboxLiveContext, state.socialRelationshipChangedHandlerToken);
state.socialRelationshipChangedHandlerToken = 0;
See also
XblSocialSubscribeToSocialRelationshipChange
XblSocialUnsubscribeFromSocialRelationshipChange
XblSocialAddSocialRelationshipChangedHandler
XblSocialRemoveSocialRelationshipChangedHandler