次の方法で共有


タイトルのプレゼンスの変更を処理する

このトピックでは、タイトルプレゼンスの変更を処理するためのコード例を示します。

タイトルのプレゼンスの変更をサブスクライブする

フラット 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;