다음을 통해 공유


IOleParentUndoUnit::Close 메서드(ocidl.h)

지정된 부모 실행 취소 단위를 닫습니다.

구문

HRESULT Close(
  [in] IOleParentUndoUnit *pPUU,
  [in] BOOL               fCommit
);

매개 변수

[in] pPUU

닫을 현재 열려 있는 부모 단위에 대한 IOleParentUndoUnit 포인터입니다.

[in] fCommit

단위를 유지하거나 삭제할지 여부를 나타냅니다. TRUE이면 단위가 컬렉션에 유지됩니다. FALSE이면 단위가 삭제됩니다. 이 매개 변수는 오류 또는 취소가 발생하는 경우 클라이언트가 생성 중인 실행 취소 단위를 삭제할 수 있도록 하는 데 사용됩니다.

반환 값

이 메서드는 성공에 대한 S_OK 반환합니다. 가능한 다른 반환 값은 다음과 같습니다.

반환 코드 설명
S_FALSE
부모 실행 취소 단위에 열린 자식이 없었고 성공적으로 닫혔습니다.
E_INVALIDARG
pPUU가 현재 열려 있는 부모 실행 취소 단위와 일치하지 않으면 부모 단위가 차단되지 않는 한 내부 상태를 변경하지 않고 이 메서드의 구현에서 E_INVALIDARG 반환해야 합니다.

설명

부모 실행 취소 단위는 이 메서드에서 S_FALSE 반환할 때 닫혀 있음을 알고 있습니다. 이때 프라이빗 인터페이스를 통해 데이터를 제공할 수 있는 다른 개체와의 통신을 종료해야 합니다.

발신자에 대한 참고 사항

오류 반환은 심각한 오류 조건을 나타냅니다.

fCommitTRUE인 경우 부모 단위 또는 실행 취소 관리자는 실행 취소 단위를 수락해야 합니다.

구현자에 대한 참고 사항

닫기 요청을 처리하기 위해 부모 실행 취소 단위는 먼저 열린 자식 단위가 있는지 확인합니다. 그렇지 않으면 S_FALSE 반환합니다.

자식 단위가 열려 있는 경우 자식에서 IOleParentUndoUnit::Close 메서드를 호출합니다. 자식이 S_FALSE 반환하는 경우 부모 실행 취소 단위는 pPUU 가 자식 단위를 가리키는지 확인하고 해당 자식 실행 취소 단위를 닫습니다. 자식이 S_OK 반환하면 내부적으로 닫기를 처리하고 부모는 아무 것도 하지 않아야 합니다.

부모 단위가 차단되면 pPUU 매개 변수를 검사 적절한 반환 코드를 결정해야 합니다. pPUU가 자신을 가리키는 경우 S_FALSE 반환해야 합니다.

그렇지 않으면 S_OK 반환해야 합니다. fCommit 매개 변수는 무시됩니다. 작업이 수행되지 않습니다.

pPUU가 현재 열려 있는 부모 실행 취소 단위와 일치하지 않는 경우 이 메서드의 구현은 내부 상태를 변경하지 않고 E_INVALIDARG 반환해야 합니다. 유일한 예외는 단위가 차단된 경우입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ocidl.h

추가 정보

IOleParentUndoUnit

IOleParentUndoUnit::Close