다음을 통해 공유


ITfDocumentMgr::P ush 메서드(msctf.h)

컨텍스트 스택의 맨 위에 컨텍스트를 추가합니다.

구문

HRESULT Push(
  [in] ITfContext *pic
);

매개 변수

[in] pic

스택에 추가할 ITfContext 개체에 대한 포인터입니다. 이 개체는 ITfDocumentMgr::CreateContext에 대한 이전 호출에서 가져옵니다.

반환 값

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

Description
S_OK
메서드를 성공적으로 수행했습니다.
E_INVALIDARG
그림 이 잘못되었습니다.
TF_E_STACKFULL
컨텍스트에 대한 스택에 공간이 없습니다. 컨텍스트 스택에는 두 컨텍스트의 제한이 있습니다.
E_UNEXPECTED
이 메서드는 ITfDocumentMgr::P op 호출 중에 호출되었습니다.

설명

스택에 추가된 첫 번째 컨텍스트는 기본 문서 컨텍스트가 됩니다.

TSF 관리자 및 텍스트 서비스는 스택 맨 위에 있는 컨텍스트와만 상호 작용합니다. 일반적으로 기본 문서 컨텍스트만 스택에 있습니다. 경우에 따라 스택에 두 번째 컨텍스트를 추가해야 합니다. 예를 들어 텍스트 서비스에서 후보 목록과 같은 모달 UI를 표시해야 하는 경우입니다. 이 시간 동안 텍스트 서비스는 해당 컨텍스트를 스택에 추가합니다. 텍스트 서비스 UI가 더 이상 필요하지 않으면 텍스트 서비스는 스택에서 컨텍스트를 제거합니다. 그런 다음 기본 컨텍스트가 스택의 맨 위로 돌아갑니다. 이 프로세스를 간소화하고 여러 모달 UI가 표시되지 않도록 하려면 스택에 최대 두 개의 컨텍스트가 허용됩니다.

이 메서드는 설치된 모든 스레드 관리자 이벤트 싱크의 ITfThreadMgrEventSink::OnPushContext 메서드를 호출합니다. 스택에 추가할 첫 번째 컨텍스트인 경우 이 메서드는 설치된 모든 스레드 관리자 이벤트 싱크의 ITfThreadMgrEventSink::OnInitDocumentMgr 메서드를 호출합니다.

컨텍스트 스택에서 이 컨텍스트를 제거하려면 ITfDocumentMgr::P op을 호출해야 합니다.

요구 사항

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

추가 정보

ITfContext

ITfDocumentMgr

ITfDocumentMgr::CreateContext

ITfDocumentMgr::P op

ITfThreadMgrEventSink::OnInitDocumentMgr

ITfThreadMgrEventSink::OnPushContext