다음을 통해 공유


IOleInPlaceObject::InPlaceDeactivate 메서드(oleidl.h)

활성 현재 위치 개체를 비활성화하고 개체의 실행 취소 상태를 삭제합니다.

구문

HRESULT InPlaceDeactivate();

반환 값

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

반환 코드 설명
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.

설명

발신자에 대한 참고 사항

이 메서드는 활성 개체의 직접 컨테이너에 의해 호출되어 활성 개체를 비활성화하고 실행 취소 상태를 취소합니다.

구현자에 대한 참고 사항

IOleInPlaceObject::InPlaceDeactivate에서 반환되면 개체는 실행 취소 상태를 삭제합니다. 개체 애플리케이션은 이 호출 직후 종료되어서는 안 됩니다. 대신 IOleObject::Close 에 대한 명시적 호출 또는 개체의 참조 수가 0에 도달할 때까지 기다려야 합니다.

비활성화하기 전에 개체 애플리케이션은 IOleInPlaceSite::OnUIDeactivate를 호출하여 컨테이너에 사용자 인터페이스를 프레임 창에 다시 배치할 수 있는 기회를 제공해야 합니다.

IOleInPlaceObject::InPlaceDeactivate를 호출하는 동안 현재 위치 사용자 인터페이스가 계속 표시되는 경우 개체 애플리케이션은 자체 IOleInPlaceObject::InPlaceDeactivate 메서드를 호출하여 사용자 인터페이스를 숨겨야 합니다. IOleInPlaceObject::InPlaceDeactivate 및 IOleInPlaceObject::InPlaceDeactivate를 호출하는 동안 현재 위치 사용자 인터페이스를 선택적으로 제거할 수 있습니다. 그러나 컨테이너가 IOleObject::Close를 호출할 때 사용자 인터페이스가 제거되지 않은 경우 IOleObject::Close를 호출하는 동안 제거되어야 합니다.

IOleObject::Close를 호출하는 동안 개체가 여전히 활성 상태인지 확인하기 위해 검사 합니다. 그렇다면 IOleInPlaceObject::InPlaceDeactivate를 호출해야 합니다.

요구 사항

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

추가 정보

IOleInPlaceObject

IOleInPlaceSite::OnInPlaceDeactivate

IOleInPlaceSite::OnUIDeactivate

IOleObject::Close