다음을 통해 공유


ITfRange::InsertEmbedded 메서드(msctf.h)

ITfRange::InsertEmbedded 메서드는 텍스트 범위의 시작 앵커 위치에 개체를 삽입합니다.

구문

HRESULT InsertEmbedded(
  [in] TfEditCookie ec,
  [in] DWORD        dwFlags,
  [in] IDataObject  *pDataObject
);

매개 변수

[in] ec

ITfDocumentMgr::CreateContext 또는 ITfEditSession::D oEditSession에서 가져온 쿠키를 편집합니다.

[in] dwFlags

삽입이 발생하는 방법을 지정하는 비트 필드입니다. TF_IE_CORRECTION 설정되면 다른 텍스트 서비스에서 원본 텍스트와 연결된 데이터를 보존할 수 있도록 작업이 수정됩니다.

[in] pDataObject

삽입할 데이터 전송 개체에 대한 포인터입니다.

반환 값

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

Description
S_OK
메서드를 성공적으로 수행했습니다.
E_NOTIMPL
구현하는 애플리케이션은 스트림에 포함된 개체를 노출하지 않습니다.
TF_E_COMPOSITION_REJECTED
컨텍스트 소유자가 기본 컴퍼지션을 거부했습니다.
TF_E_FORMAT
컨텍스트 소유자는 지정된 개체 형식을 처리할 수 없습니다.
TF_E_NOLOCK
ec 매개 변수의 값이 잘못된 쿠키이거나 호출자에게 읽기 전용 잠금이 없습니다.
TF_E_RANGE_NOT_COVERED
호출자는 이미 활성 컴퍼지션을 가지고 있지만 범위는 컴퍼지션에서 다루지 않는 텍스트 위에 배치됩니다.
TF_E_READONLY
문서 또는 범위의 위치를 수정할 수 없습니다.

설명

TF_CHAR_EMBEDDED 개체 자리 표시자 문자를 ITfRange::SetText에 전달할 수 없으므로 이 메서드를 사용하여 텍스트 스트림에 개체를 삽입합니다. 이 메서드는 OleGetClipboard에서 반환된 IDataObject와 마찬가지로 pDataObject를 사용하는 애플리케이션과 함께 OLE 클립보드 API를 기준으로 모델링됩니다.

범위가 여러 지역을 포함하는 경우 각 지역에서 메서드를 개별적으로 호출해야 합니다. 그렇지 않으면 메서드가 실패할 수 있습니다.

기본적으로 텍스트 서비스는 범위를 포함하는 임시 컴퍼지션을 시작하고 종료하여 컨텍스트 소유자가 편집된 텍스트에 대한 컴퍼지션을 일관되게 인식하도록 합니다. 컴퍼지션 소유자가 기본 컴퍼지션을 거부하는 경우 메서드는 TF_E_COMPOSITION_REJECTED 반환합니다. 기본 컴퍼지션은 호출자가 아직 시작하지 않은 경우에만 만들어집니다. 호출자에게 활성 컴퍼지션이 있는 경우 호출이 실패합니다.

컨텍스트 소유자가 특정 개체의 삽입을 지원하는지 여부를 미리 확인하려면 ITfQueryEmbedded::QueryInsertEmbedded를 사용합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 msctf.h
DLL Msctf.dll
재배포 가능 파일 Windows 2000 Professional의 TSF 1.0

참고 항목

Idataobject

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfRange

ITfRange::GetEmbedded

기타 프레임워크 상수

텍스트 저장소