다음을 통해 공유


IUIAnimationStoryboard::Schedule 메서드(uianimation.h)

스토리보드에 재생을 예약하도록 지시합니다.

구문

HRESULT Schedule(
  [in]            UI_ANIMATION_SECONDS           timeNow,
  [out, optional] UI_ANIMATION_SCHEDULING_RESULT *schedulingResult
);

매개 변수

[in] timeNow

현재 시간입니다.

[out, optional] schedulingResult

예약 요청의 결과입니다. 이 매개 변수는 이 메서드에 대한 호출에서 생략할 수 있습니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 그러지 않으면 HRESULT 오류 코드를 반환합니다. 오류 코드 목록은 Windows 애니메이션 오류 코드를 참조하세요.

설명

이 메서드는 스토리보드 재생 일정에 자신을 추가하려고 스토리보드를 지시합니다. 규칙은 다음과 같습니다.

  • 동일한 애니메이션 변수에 애니메이션 효과를 주는 재생 스토리보드가 없으면 시도가 성공하고 스토리보드가 즉시 재생되기 시작합니다.
  • 스토리보드에 충돌하는 스토리보드를 취소, 자르기, 종료 또는 압축하는 우선 순위가 있는 경우 예약 시도가 성공하고 스토리보드가 가능한 한 빨리 재생되기 시작합니다.
  • 스토리보드에 우선 순위가 없으면 시도가 실패하고 schedulingResult 매개 변수가 UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY 설정됩니다.
OnStoryboardStatusChanged 이벤트에 대한 처리기에서 이 메서드를 호출하면 schedulingResult 매개 변수가 UI_ANIMATION_SCHEDULING_DEFERRED 설정됩니다. 스토리보드가 성공적으로 예약되었는지 여부를 확인하는 유일한 방법은 스토리보드 이벤트 처리기를 설정하고 스토리보드의 상태 UI_ANIMATION_STORYBOARD_INSUFFICIENT_PRIORITY 되는지 여부를 검사 것입니다.

상태 UI_ANIMATION_STORYBOARD_READY 도달한 후 Schedule을 다시 호출하여 스토리보드를 다시 사용할 수 있습니다. 스토리보드가 UI_ANIMATION_STORYBOARD_BUILDING 또는 UI_ANIMATION_STORYBOARD_READY 이외의 상태에 있을 때 예약하려는 시도가 실패하고 schedulingResultUI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED 설정됩니다.

예제

다음 예제에서는 현재 시간을 가져오고 스토리보드를 예약합니다. 추가 예제는 스토리보드 예약을 참조하세요.

// Get the current time and schedule the storyboard
UI_ANIMATION_SECONDS secondsNow;
hr = m_pAnimationTimer->GetTime(
    &secondsNow
    );
if (SUCCEEDED(hr))
{
    UI_ANIMATION_SCHEDULING_RESULT schedulingResult;
    hr = pStoryboard->Schedule(
        secondsNow,
        &schedulingResult
        );
    if (SUCCEEDED(hr))
    {
        if (schedulingResult == UI_ANIMATION_SCHEDULING_SUCCEEDED)
        {
            ...
        }
        else
        {
            ...
        }
    }
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista용 Windows 7, Windows Vista 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 Windows
헤더 uianimation.h
DLL UIAnimation.dll

추가 정보

IUIAnimationStoryboard

IUIAnimationStoryboard::Abandon

IUIAnimationStoryboard::Conclude

IUIAnimationStoryboard::Finish

IUIAnimationStoryboard::GetStatus

IUIAnimationTimer::GetTime

UI_ANIMATION_SCHEDULING_RESULT

UI_ANIMATION_STORYBOARD_STATUS