Share via


IRunnableObject::SetContainedObject 메서드(objidl.h)

포함된 개체에 대한 링크를 지원하는 컨테이너에 대해 참조 계산이 올바르게 수행되도록 개체가 OLE 컨테이너에 포함되어 있음을 알 수 있습니다.

구문

HRESULT SetContainedObject(
  [in] BOOL fContained
);

매개 변수

[in] fContained

TRUE 는 개체가 OLE 컨테이너에 포함되도록 지정합니다. FALSE 는 그렇지 않음을 나타냅니다.

반환 값

이 메서드는 표준 반환 값 E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED 및 S_OK 반환할 수 있습니다.

설명

SetContainedObject 메서드를 사용하면 컨테이너가 링크 역할을 하지 않고 컨테이너에 포함되어 있음을 개체 처리기에 알릴 수 있습니다. 이 호출은 개체에 대한 컨테이너의 참조를 외부 연결의 기본값인 strong에서 weak로 변경합니다. 개체가 눈에 띄게 실행되는 경우 최종 사용자에게 개체에 대한 잠금이 있기 때문에 이 메서드는 거의 의미가 없습니다. 그러나 포함된 링크 원본을 자동으로 업데이트하는 동안 컨테이너는 링크가 끊어진 후 개체를 실행 중 상태로 유지할 수 없습니다. 따라서 개체에 대한 컨테이너의 참조가 약해야 합니다.

발신자에게 참고 사항

컨테이너 애플리케이션이 포함된 개체에 대한 연결을 지원하는 경우 SetContainedObject 를 호출해야 합니다. 일반적으로 OleLoad 또는 OleCreate 를 호출한 직후에 호출하고 메서드가 닫히기 전에도 메서드를 다시 호출하지 않습니다. 또한 컨테이너는 fContained 가 TRUE로 설정된 상태에서 거의 항상 이 메서드를 호출 합니다. fContainedFALSE로 설정된 상태에서 이 메서드를 사용하는 경우는 드뭅니다.

포함된 개체가 컨테이너 이외의 클라이언트에서 참조되지 않는다는 것을 알고 있는 경우에만 SetContainedObject 를 호출하는 것은 선택 사항입니다. 컨테이너 애플리케이션이 포함된 개체에 대한 연결을 지원하지 않는 경우 SetContainedObject를 호출하는 것이 좋지만 필요하지는 않습니다.

OleSetContainedObjectSetContainedObject에서 제공하는 기능을 편리하게 다시 패키징하는 도우미 함수입니다. OLE 2.01 릴리스에서는 OleSetContainedObject 구현이 QueryInterface를 호출하고 IRunnableObject를 요청한 다음 IRunnableObject::SetContainedObject를 호출하도록 변경되었습니다. 즉, 인터페이스와 도우미 함수를 서로 바꿔 사용할 수 있습니다.

요구 사항

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

추가 정보

IRunnableObject

OleSetContainedObject