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로 설정된 상태에서 거의 항상 이 메서드를 호출 합니다. fContained가 FALSE로 설정된 상태에서 이 메서드를 사용하는 경우는 드뭅니다.포함된 개체가 컨테이너 이외의 클라이언트에서 참조되지 않는다는 것을 알고 있는 경우에만 SetContainedObject 를 호출하는 것은 선택 사항입니다. 컨테이너 애플리케이션이 포함된 개체에 대한 연결을 지원하지 않는 경우 SetContainedObject를 호출하는 것이 좋지만 필요하지는 않습니다.
OleSetContainedObject 는 SetContainedObject에서 제공하는 기능을 편리하게 다시 패키징하는 도우미 함수입니다. OLE 2.01 릴리스에서는 OleSetContainedObject 구현이 QueryInterface를 호출하고 IRunnableObject를 요청한 다음 IRunnableObject::SetContainedObject를 호출하도록 변경되었습니다. 즉, 인터페이스와 도우미 함수를 서로 바꿔 사용할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | objidl.h |