ITfContext::RequestEditSession 메서드(msctf.h)
문서 텍스트 및 속성에 대한 액세스 권한을 얻습니다.
구문
HRESULT RequestEditSession(
[in] TfClientId tid,
[in] ITfEditSession *pes,
[in] DWORD dwFlags,
[out] HRESULT *phrSession
);
매개 변수
[in] tid
편집 세션을 설정할 클라이언트를 식별하는 TfClientId 값을 포함합니다.
[in] pes
편집 세션을 수행하기 위해 호출 된 ITfEditSession 인터페이스에 대한 포인터입니다.
[in] dwFlags
다음 값 중 하나 이상을 포함합니다.
[out] phrSession
세션 편집 요청의 결과를 수신하는 HRESULT 값의 주소입니다. 받은 값은 요청된 편집 세션의 유형에 따라 달라집니다.
- 비동기 편집 세션이 요청되고 설정할 수 있는 경우 는 TF_S_ASYNC 받습니다.
- 동기 편집 세션이 요청되어 설정할 수 없는 경우 는 TF_E_SYNCHRONOUS 받습니다.
- TF_ES_READWRITE 플래그를 지정하고 문서가 읽기 전용인 경우 는 TS_E_READONLY 받습니다.
- 동기 편집 세션이 설정된 경우 는 ITfEditSession::D oEditSession의 반환 값을 받습니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
값 | Description |
---|---|
|
메서드를 성공적으로 수행했습니다. phrSession 은 메서드에 대한 더 많은 결과 데이터를 포함합니다. |
|
호출자는 이미 잠금을 보유하고 있는 다른 텍스트 서비스의 컨텍스트 내에 있습니다. |
|
컨텍스트가 문서 스택에 없습니다. |
|
하나 이상의 매개 변수가 잘못되었습니다. |
|
메모리 할당 오류가 발생했습니다. |
설명
보류 중인 비동기 편집 세션은 받은 순서대로 처리됩니다. 동기 편집 세션은 보류 중인 비동기 편집 세션 전에 처리됩니다.
읽기 전용 세션 내에서 쓰기 액세스 세션이 요청되지 않은 경우 텍스트 서비스는 기존 편집 세션의 컨텍스트 내에서 편집 세션을 요청할 수 있습니다. 다른 텍스트 서비스에서 설정한 편집 세션의 컨텍스트 내에서 이 메서드에 대한 호출은 TF_E_LOCKED 함께 실패합니다.
다음 알림 중 하나를 처리할 때 동기 읽기/쓰기 요청이 수행되면 실패합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | msctf.h |
DLL | Msctf.dll |
재배포 가능 파일 | Windows 2000 Professional의 TSF 1.0 |
참고 항목
ITfContext 인터페이스, ITfEditSession 인터페이스, ITfStatusSink::OnStatusChange, ITfTextEditSink::OnEndEdit, ITfTextLayoutSink::OnLayoutChange