IOleObject::Close 메서드(oleidl.h)
포함된 개체를 실행 중에서 로드된 상태로 변경합니다. 링크 원본에서 연결된 개체의 연결을 끊습니다.
구문
HRESULT Close(
[in] DWORD dwSaveOption
);
매개 변수
[in] dwSaveOption
로드된 상태로 전환의 일부로 개체를 저장할지 여부를 나타냅니다. 유효한 값은 열거형 OLECLOSE에서 가져옵니다.
참고 OLE 2 사용자 모델은 개체 애플리케이션이 활성화된 개체를 포함하여 연결된 개체 또는 포함된 개체를 저장하기 전에 사용자에게 메시지를 표시하지 않는 것이 좋습니다. 이 정책은 OLE 1 사용자 모델의 변경 내용을 나타내며, 개체 애플리케이션은 항상 사용자에게 변경 내용을 저장할지 여부를 결정하라는 메시지를 표시합니다.
반환 값
이 메서드는 성공에 대한 S_OK 반환합니다. 가능한 다른 반환 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
사용자에게 저장하라는 메시지가 표시되었지만 프롬프트 메시지 상자에서 취소 단추를 선택했습니다. |
설명
발신자에 대한 참고 사항
컨테이너 애플리케이션은 실행 중인 개체에서 로드된 상태로 개체를 이동하려는 경우 IOleObject::Close 를 호출합니다. 이러한 호출 후 개체는 컨테이너에 계속 표시되지만 편집을 위해 열려 있지 않습니다. 로드되었지만 실행되지 않는 개체에서 IOleObject::Close 를 호출해도 아무런 효과가 없습니다. 연결된 개체를 닫는 것은 단순히 연결을 끊는 것을 의미합니다.구현자에 대한 참고 사항
IOleObject::Close에 대한 호출을 받으면 실행 중인 개체는 다음을 수행해야 합니다.- 편집을 위해 마지막으로 연 이후 개체가 변경된 경우 dwSaveOption에 지정된 지침에 따라 저장 여부를 요청해야 합니다. 개체를 저장하는 옵션인 경우 해당 컨테이너의 IOleClientSite::SaveObject 인터페이스를 호출해야 합니다.
- 개체에 ADVF_DATAONSTOP 플래그와 IDataObject::D Advise 연결이 있는 경우 IAdviseSink::OnDataChange 알림을 보내야 합니다. 자세한 내용은 IDataObject::D Advise 를 참조하세요.
- 개체가 현재 클립보드를 소유하는 경우 OleFlushClipboard를 호출하여 비워야 합니다.
- 개체가 현재 표시되는 경우 fshow 인수가 FALSE로 설정된 IOleClientSite::OnShowWindow를 호출하여 컨테이너에 알립니다.
- 적절한 조언 싱크 에 IAdviseSink::OnClose 알림을 보냅니다.
- 마지막으로 CoDisconnectObject를 호출하여 모든 원격 클라이언트를 강제로 차단합니다.
연결된 개체 에서 IOleObject::Close 를 호출하면 원본 애플리케이션에서 연결이 끊어지지만 종료되지는 않습니다. 개체가 닫혀 있을 때 사용자에게 표시되는 원본 애플리케이션은 연결이 끊긴 후에도 계속 표시되고 실행되고 IAdviseSink::OnClose 알림을 링크 컨테이너에 보내지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | oleidl.h |