디바이스 프레즌스 변경 처리
이 항목에서는 디바이스 프레즌스 변경 처리 예제 코드를 제공합니다.
이 항목에서는 다음에 대해 설명합니다.
디바이스 현재 상태 변경 구독
플랫 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;