선택적 메서드

OLE 구성 요소는 인터페이스에 있는 모든 메서드의 모든 의미 체계를 구현하지 않고 인터페이스를 구현할 수 있으며, 대신 E_NOTIMPL 또는 S_OK 적절하게 반환할 수 있습니다. 다음 표에서는 ActiveX 컨트롤 컨테이너가 구현할 필요가 없는 메서드(즉, 컨트롤 컨테이너가 E_NOTIMPL 반환할 수 있음)에 대해 설명합니다.

아래 표에서는 선택적 메서드에 대해 설명합니다. 메서드는 여전히 존재해야 하지만 실제 의미 체계를 구현하는 대신 E_NOTIMPL 반환할 수 있습니다. 아래에 나열되지 않은 필수 인터페이스의 메서드는 필수로 간주되어야 하며 E_NOTIMPL 반환하지 않을 수 있습니다.

IOleClientSite

메서드 의견
SaveObject
지속성을 성공적으로 지원하는 데 필요합니다.
GetMoniker
컨테이너가 자체 양식 또는 문서 내의 컨트롤에 대한 연결을 지원하는 경우에만 필요합니다.

IOleInPlaceSite

메서드 의견
ContextSensitiveHelp
선택 사항
스크롤
아무 작업도 없이 S_FALSE 반환할 수 있습니다.
DiscardUndoState
아무 작업도 없이 S_OK 반환할 수 있습니다.
DeactivateAndUndo
비활성화는 필수입니다. 실행 취소는 선택 사항입니다.

IOleControlSite

메서드 의견
GetExtendedControl
확장 컨트롤을 지원하는 컨테이너에 필요합니다.
ShowPropertyFrame
컨트롤에서 제공하는 속성 외에도 확장된 컨트롤 속성을 처리하기 위해 자체 속성 페이지를 포함하려는 컨테이너에 필요합니다.
TranslateAccelerator
아무 작업도 없이 S_FALSE 반환할 수 있습니다.
LockInPlaceActive
선택 사항

IDispatch(Ambient 속성)

메서드 의견
GetTypeInfoCount
비표준 주변 속성을 지원하는 컨테이너에 필요합니다.
GetTypeInfo
비표준 주변 속성을 지원하는 컨테이너에 필요합니다.
GetIDsOfNames
비표준 주변 속성을 지원하는 컨테이너에 필요합니다.

IDispatch(이벤트 싱크)

메서드 의견
GetTypeInfoCount
컨트롤은 자체 형식 정보를 알고 있으므로 이를 호출할 필요가 없습니다.
GetTypeInfo
컨트롤은 자체 형식 정보를 알고 있으므로 이를 호출할 필요가 없습니다.
GetIDsOfNames
컨트롤은 자체 형식 정보를 알고 있으므로 이를 호출할 필요가 없습니다.

IOleInPlaceFrame

메서드 의견
ContextSensitiveHelp
GetBorder
도구 모음 UI가 있는 컨테이너에 필요(선택 사항)
RequestBorderSpace
도구 모음 UI가 있는 컨테이너에 필요(선택 사항)
SetBorderSpace
도구 모음 UI가 있는 컨테이너에 필요(선택 사항)
InsertMenus
메뉴 UI가 있는 컨테이너에 필요(선택 사항)
SetMenu
메뉴 UI가 있는 컨테이너에 필요(선택 사항)
RemoveMenus
메뉴 UI가 있는 컨테이너에 필요(선택 사항)
SetStatusText
상태 선이 있는 컨테이너에만 필요
EnableModeless
선택 사항
TranslateAccelerator
선택 사항

IOleContainer

메서드 의견
ParseDisplayName
모니커 바인딩에 필요하므로 컨테이너의 컨트롤 또는 기타 포함에 대한 연결이 지원되는 경우에만 가능합니다.
LockContainer
ParseDisplayName에 관해서는
EnumObjects
IEnumUnknown이 있는 열거자를 통해 모든 ActiveX 컨트롤을 반환하지만 모든 개체가 반드시 모든 개체가 되는 것은 아닙니다(모든 개체가 ActiveX 컨트롤이라는 보장은 없고 일부는 일반 Windows 컨트롤일 수 있음).

컨테이너