ソーシャル関係の変更を処理する
このトピックでは、ソーシャル関係の変更を処理するためのコードの例を示します。
関係の変更のサブスクリプション
フラット C API
HRESULT hr = XblSocialSubscribeToSocialRelationshipChange(
xboxLiveContext,
xboxUserId,
&state.socialSubscriptionHandle
);
関係の変更のサブスクリプションの解除
フラット C API
HRESULT hr = XblSocialUnsubscribeFromSocialRelationshipChange(
xboxLiveContext,
state.socialSubscriptionHandle
);
state.socialSubscriptionHandle = nullptr;
関係が変更されたハンドラーの追加
フラット 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
);
関係が変更されたハンドラーの削除
フラット C API
HRESULT hr = XblSocialRemoveSocialRelationshipChangedHandler(xboxLiveContext, state.socialRelationshipChangedHandlerToken);
state.socialRelationshipChangedHandlerToken = 0;
関連項目
XblSocialSubscribeToSocialRelationshipChange
XblSocialUnsubscribeFromSocialRelationshipChange
XblSocialAddSocialRelationshipChangedHandler
XblSocialRemoveSocialRelationshipChangedHandler