다음을 통해 공유


ITextStoreACP::RequestLock 메서드(textstor.h)

ITextStoreACP::RequestLock 메서드는 TSF 관리자가 문서를 수정하기 위해 문서 잠금을 제공하도록 호출됩니다. 이 메서드는 ITextStoreACPSink::OnLockGranted 메서드를 호출하여 문서 잠금을 만듭니다.

구문

HRESULT RequestLock(
  [in]  DWORD   dwLockFlags,
  [out] HRESULT *phrSession
);

매개 변수

[in] dwLockFlags

요청된 잠금 유형을 지정합니다.

의미
TS_LF_READ
문서에 읽기 전용 잠금이 있으며 수정할 수 없습니다.
TS_LF_READWRITE
문서에 읽기/쓰기 잠금이 있으며 수정할 수 있습니다.
TS_LF_SYNC
이 플래그를 다른 플래그와 결합하면 문서에 동기 잠금이 있습니다.

[out] phrSession

잠금 요청이 동기인 경우 는 잠금 요청의 결과를 지정하는 ITextStoreAnchorSink::OnLockGranted 메서드에서 HRESULT 값을 받습니다.

잠금 요청이 비동기이고 결과가 TS_S_ASYNC 경우 문서는 비동기 잠금을 받습니다. 잠금 요청이 비동기이고 결과가 TS_E_SYNCHRONOUS 경우 문서를 동기적으로 잠글 수 없습니다.

반환 값

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

Description
S_OK
메서드를 성공적으로 수행했습니다.
E_FAIL
지정되지 않은 오류가 발생했습니다.

설명

이 메서드는 ITextStoreACPSink::OnLockGranted 메서드를 사용하여 문서를 잠급니다. 애플리케이션은 ITextStoreACP::RequestLock 메서드 내에서 ITextStoreACPSink::OnTextChange 메서드를 사용하여 문서를 수정하거나 변경 알림을 보내서는 안 됩니다. 애플리케이션에 보고 보류 중인 변경 내용이 있는 경우 애플리케이션은 비동기 잠금 요청에만 응답할 수 있습니다.

애플리케이션에는 단일 콜백만 필요하므로 애플리케이션은 여러 ITextStoreACP::RequestLock 메서드 호출을 큐에 대기하려고 시도해서는 안 됩니다. 그러나 호출자가 여러 개의 읽기 요청과 하나 이상의 쓰기 요청을 만드는 경우 쓰기 액세스에 대한 콜백이어야 합니다.

동기 잠금에 대한 성공적인 요청은 비동기 잠금에 대한 요청을 대체합니다. 동기 잠금에 대한 실패한 요청은 비동기 잠금에 대한 요청을 대체하지 않습니다. 구현은 미해결 비동기 요청(있는 경우)을 계속 제공해야 합니다.

ITextStoreACP::RequestLock 메서드가 반환되기 전에 잠금이 부여되면 phrSession 매개 변수는 ITextStoreACPSink::OnLockGranted 메서드에서 반환된 HRESULT를 받습니다. 호출에 성공했지만 나중에 잠금이 부여되면 phrSession 매개 변수는 TS_S_ASYNC 플래그를 받습니다. ITextStoreACP::RequestLock이 S_OK 이외의 항목을 반환하는 경우 phrSession 매개 변수를 무시해야 합니다.

호출자가 읽기 전용 잠금을 보유하는 경우를 제외하고 호출자는 이 메서드를 다시 호출해서는 안 됩니다. 이 경우 메서드를 다시 호출하여 비동기 쓰기 잠금을 요청할 수 있습니다. 나중에 읽기 전용 잠금이 종료된 후 쓰기 잠금이 부여됩니다.

문서 잠금에 대한 자세한 내용은 문서 잠금을 참조하세요.

요구 사항

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

추가 정보

문서 잠금

ITextStoreACP

ITextStoreACPSink::OnLockGranted

TS_LF_* 상수

텍스트 저장소 반환 값