デバイスのプレゼンスの変更を処理する
このトピックでは、デバイスのプレゼンスの変更を処理するためのコード例を示します。
このトピックでは、以下の内容を説明します。
デバイスのプレゼンスの変更をサブスクライブする
フラット C API
uint64_t xuid{ 123 };
HRESULT hr = XblPresenceSubscribeToDevicePresenceChange(
xboxLiveContext,
xuid,
&state.devicePresenceChangeSubscription
);
デバイスのプレゼンスの変更のサブスクライブを解除する
フラット C API
HRESULT hr = XblPresenceUnsubscribeFromDevicePresenceChange(
xboxLiveContext,
state.devicePresenceChangeSubscription
);
state.devicePresenceChangeSubscription = nullptr;
デバイス プレゼンス変更ハンドラーを追加する
フラット C API
state.devicePresenceChangedHandlerToken = XblPresenceAddDevicePresenceChangedHandler(
xboxLiveContext,
[](void* context, uint64_t xuid, XblPresenceDeviceType deviceType, bool isUserLoggedOnDevice)
{
UNREFERENCED_PARAMETER(context);
LogToFile("Device presence change notification received:");
LogToFile("Xuid = %u, deviceType = %u, isUserLoggedOnDevice = %u", xuid, deviceType, isUserLoggedOnDevice);
},
nullptr
);
詳細については、「XblPresenceDeviceType」をご覧ください。
デバイス プレゼンス変更ハンドラーを削除する
フラット C API
HRESULT hr = XblPresenceRemoveDevicePresenceChangedHandler(
xboxLiveContext,
state.devicePresenceChangedHandlerToken
);
state.devicePresenceChangedHandlerToken = 0;