タイトルのプレゼンスの変更を処理する
このトピックでは、タイトルプレゼンスの変更を処理するためのコード例を示します。
タイトルのプレゼンスの変更をサブスクライブする
フラット C API
uint64_t xuid{ 123 };
HRESULT hr = XblPresenceSubscribeToTitlePresenceChange(
xboxLiveContext,
xuid,
titleId,
&state.titlePresenceChangeSubscription
);
タイトルのプレゼンスの変更のサブスクライブを解除する
フラット C API
HRESULT hr = XblPresenceUnsubscribeFromTitlePresenceChange(
xboxLiveContext,
state.titlePresenceChangeSubscription
);
state.titlePresenceChangeSubscription = nullptr;
タイトル プレゼンス変更ハンドラーを追加する
フラット C API
state.titlePresenceChangedHandlerToken = XblPresenceAddTitlePresenceChangedHandler(
xboxLiveContext,
[](void* context, uint64_t xuid, uint32_t titleId, XblPresenceTitleState titleState)
{
UNREFERENCED_PARAMETER(context);
LogToFile("Title presence change notification received:");
LogToFile("Xuid = %u, titleId = %u, titleState = %u", xuid, titleId, titleState);
},
nullptr
);
詳細については、「XblPresenceTitleState」をご覧ください。
タイトル プレゼンス変更ハンドラーを削除する
フラット C API
HRESULT hr = XblPresenceRemoveTitlePresenceChangedHandler(
xboxLiveContext,
state.titlePresenceChangedHandlerToken
);
state.titlePresenceChangedHandlerToken = 0;