IOleUndoManager::UndoTo 메서드(ocidl.h)
실행 취소 관리자에게 지정한 실행 취소 단위까지 실행 취소 스택을 통해 실행 취소 작업을 다시 호출하도록 지시합니다.
구문
HRESULT UndoTo(
[in] IOleUndoUnit *pUU
);
매개 변수
[in] pUU
실행 취소할 최상위 단위에 대한 포인터입니다. 이 매개 변수가 NULL이면 가장 최근에 추가된 최상위 단위가 사용됩니다.
반환 값
이 메서드는 성공에 대한 S_OK 반환합니다. 다른 가능한 반환 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
지정한 실행 취소 단위가 실행 취소 스택에 없습니다. |
|
실행 취소 시도와 롤백 시도가 모두 실패했습니다. 실행 취소 관리자는 포함된 실행 취소 단위에서 가져온 E_ABORT 전파해서는 안 됩니다. 대신 다른 실행 취소 단위에서 반환된 E_ABORT 값을 E_FAIL 매핑해야 합니다. IOleUndoManager::UndoTo 호출자가 실행 취소 시도 및 롤백 시도가 실패했음을 알고 있으므로 실행 취소 관리자는 다른 실행 취소 단위에서 반환된 모든 E_ABORT 값을 E_FAIL 매핑해야 하며, 이것이 E_ABORT 반환 값의 유일한 이유입니다. |
|
실행 취소 관리자를 사용할 수 없습니다. |
설명
이 메서드는 각 최상위 실행 취소 단위에서 IOleUndoUnit::D o 메서드를 호출합니다. 그런 다음 실행 취소 단위를 해제합니다.
지정된 실행 취소 단위는 일반적으로 IOleUndoManager::EnumUndoable을 통해 검색되는 최상위 단위여야 합니다.
실행 취소 단위에서 오류가 반환되는 경우 실행 취소 관리자는 다시 실행 스택에서 작업을 수행하여 오류에서 복구하기 위해 문서의 상태를 롤백하려고 시도해야 합니다.
롤백의 성공에 관계없이 실행 취소 관리자는 오류를 반환하기 전에 항상 두 스택을 모두 지워야 합니다.
실행 취소 관리자가 둘 이상의 최상위 단위에서 Do 메서드를 호출한 경우 오류를 반환한 단위만 롤백해야 합니다. 성공한 최상위 단위는 롤백하면 안 됩니다.
실행 취소 관리자는 추가된 항목이 없는 경우 롤백을 시도하지 않도록 단위가 반대쪽 스택에 추가되었는지 여부를 추적해야 합니다. 오류 처리에 대한 자세한 설명은 IOleUndoManager 인터페이스를 참조하세요.
발신자에게 참고 사항
실행 취소 단위가 E_ABORT 오류로 반환할 수 있지만 IOleUndoUnit에 대한 구체적인 의미는 없습니다. 실행 취소 관리자는 일반적으로 실패한 실행 취소 단위에서 제공된 오류 코드를 반환하고 E_ABORT IOleUndoManager::UndoTo에 특정 의미를 가지므로 호출자가 실제로 성공했을 때 롤백 실패로 해석되므로 실행 취소 관리자는 E_ABORT 전달해서는 안 됩니다.요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ocidl.h |