다음을 통해 공유


XDisplayAcquireTimeoutDeferral

화면 제한 시간 지연을 가져옵니다.

구문

HRESULT XDisplayAcquireTimeoutDeferral(  
         XDisplayTimeoutDeferralHandle* handle  
)  

매개 변수

handle _Out_
형식: XDisplayTimeoutDeferralHandle*

화면 제한 시간 지연에 대한 핸들의 포인터입니다.

반환 값

형식: HRESULT

성공한 경우 S_OK를 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 오류 코드 목록은 오류 코드를 참조하세요.

설명

참고 항목

이 함수는 시간에 민감한 스레드에서 호출하는 것이 안전하지 않습니다. 자세한 내용은 시간에 민감한 스레드를 참조하세요.

화면 시간 제한 지연은 사용자가 비활성 상태일 때 화면이 흐려지거나, 잠기거나, 전원이 꺼지지 않도록 보장합니다. 유휴 시간이 일정 기간 지나면 화면 시간 제한이 발생합니다. 화면 시간 제한에 대한 응답으로 장치 디스플레이가 흐려지거나, 잠금 화면이 활성화되거나, 디스플레이 전원이 꺼질 수 있습니다. 화면 시간 제한이 발생하기 전에 필요한 유휴 시간은 장치의 사용자 설정에 따라 달라집니다. 게임 리소스 로드 또는 긴 컷 장면 표시와 같이 사용자 상호 작용이 필요하지 않은 활동이 게임에서 수행되는 경우, 화면 시간 제한이 불편을 초래할 수 있습니다. 화면 시간 제한 지연을 획득하여 화면 시간 제한을 방지할 수 있습니다.

화면 시간 제한 지연을 얻으려면 먼저 XDisplayAcquireTimeoutDeferral을 호출하여 화면 시간 제한 지연에 대한 핸들을 가져오고, 더 이상 필요하지 않으면 XDisplayCloseTimeoutDeferralHandle을 호출하여 핸들을 닫습니다. 게임이 포커스를 잃으면 화면 시간 제한 지연이 무시되고, 게임이 종료되면 릴리스됩니다.

참고 항목

이 함수를 사용하여 회면 시간 제한 지연 핸들을 가져오려면 XDisplayCloseTimeoutDeferralHandle을 호출하여 해당 핸들을 닫아야 합니다. 여러 화면 시간 제한 지연 핸들을 획득할 수 있으며, 모든 화면 시간 제한 지연 핸들이 닫힌 후에만 게임에 대해 화면 시간 제한을 활성화할 수 있습니다.

참고 항목

타이틀이 적극적으로 디버깅되는 동에는 화면이 어두워지지 않습니다.

다음 예에서는 새로운 화면 시간 제한 지연 핸들을 얻기 위해 XDisplayAcquireTimeoutDeferral을 호출한 후 긴 소개 컷 장면을 재생합니다. 새로운 핸들이 성공적으로 획득되었으면 사용자의 비활성 상태로 인한 화면 시간 제한 없이 긴 소개 컷 장면을 재생할 수 있습니다. 컷 장면 재생이 완료된 후, 이 예제는 XDisplayCloseTimeoutDeferralHandle을 호출하여 핸들을 닫습니다. 모든 화면 시간 제한 지연 핸들이 닫힌 후에는 다시 사용자의 비활성 상태에 따라 화면 시간 제한이 발생할 수 있습니다.

void Game::PlayIntroCutscene()
{
    XDisplayTimeoutDeferralHandle handle;

    // Try to acquire a new timeout deferral handle.
    if (SUCCEEDED(XDisplayAcquireTimeoutDeferral(&handle)))
    {
        // The newly-opened timeout deferral handle prevents the display
        // from dimming over the game if the user goes idle.
        // 
        // At this point, the long intro cutscene can play without dimmming.
    }

    // Once the cutscene has completed playing, 
    // close the the timeout deferral handle.
    XDisplayCloseTimeoutDeferralHandle(handle);

    // If there are no open timeout deferral handles, the display can
    // once again dim over the game if the user goes idle.
}

요구 사항

헤더: XDisplay.h

라이브러리: xgameruntime.lib

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

XDisplayCloseTimeoutDeferralHandle
XDisplay