Compartilhar via


Método ITextStoreACP::RequestLock (textstor.h)

O método ITextStoreACP::RequestLock é chamado pelo gerente do TSF para fornecer um bloqueio de documento para modificar o documento. Esse método chama o método ITextStoreACPSink::OnLockGranted para criar o bloqueio de documento.

Sintaxe

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

Parâmetros

[in] dwLockFlags

Especifica o tipo de bloqueio solicitado.

Valor Significado
TS_LF_READ
O documento tem um bloqueio somente leitura e não pode ser modificado.
TS_LF_READWRITE
O documento tem um bloqueio de leitura/gravação e pode ser modificado.
TS_LF_SYNC
O documento terá um bloqueio síncrono se esse sinalizador for combinado com outros sinalizadores.

[out] phrSession

Se a solicitação de bloqueio for síncrona, receberá um valor HRESULT do método ITextStoreAnchorSink::OnLockGranted que especifica o resultado da solicitação de bloqueio.

Se a solicitação de bloqueio for assíncrona e o resultado for TS_S_ASYNC, o documento receberá um bloqueio assíncrono. Se a solicitação de bloqueio for assíncrona e o resultado for TS_E_SYNCHRONOUS, o documento não poderá ser bloqueado de forma síncrona.

Retornar valor

Esse método pode retornar um desses valores.

Valor Descrição
S_OK
O método foi bem-sucedido.
E_FAIL
Ocorreu um erro não especificado.

Comentários

Esse método usa o método ITextStoreACPSink::OnLockGranted para bloquear o documento. Os aplicativos nunca devem modificar o documento ou enviar notificações de alteração usando o método ITextStoreACPSink::OnTextChange de dentro do método ITextStoreACP::RequestLock . Se o aplicativo tiver alterações pendentes no relatório, o aplicativo só poderá responder à solicitação de bloqueio assíncrona.

Os aplicativos não devem tentar enfileirar várias chamadas de método ITextStoreACP::RequestLock , pois o aplicativo requer apenas um único retorno de chamada. Se o chamador fizer várias solicitações de leitura e uma ou mais solicitações de gravação, no entanto, o retorno de chamada deverá ser para acesso de gravação.

Solicitações bem-sucedidas para bloqueios síncronos substituem solicitações de bloqueios assíncronos. Solicitações malsucedidas para bloqueios síncronos não substituem solicitações de bloqueios assíncronos. A implementação ainda deve atender à solicitação assíncrona pendente, se houver uma.

Se o bloqueio for concedido antes que o método ITextStoreACP::RequestLock retorne, o parâmetro phrSession receberá o HRESULT retornado pelo método ITextStoreACPSink::OnLockGranted . Se a chamada for bem-sucedida, mas o bloqueio for concedido posteriormente, o parâmetro phrSession receberá o sinalizador TS_S_ASYNC. O parâmetro phrSession deve ser ignorado se ITextStoreACP::RequestLock retornar algo diferente de S_OK.

Um chamador nunca deve chamar esse método novamente, exceto no caso de o chamador conter um bloqueio somente leitura. Nesse caso, o método pode ser chamado reentradamente para solicitar um bloqueio de gravação assíncrono. O bloqueio de gravação será concedido posteriormente, depois que o bloqueio somente leitura terminar.

Para obter mais informações sobre bloqueios de documentos, consulte Bloqueios de documentos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho textstor.h
DLL Msctf.dll
Redistribuível TSF 1.0 no Windows 2000 Professional

Confira também

Bloqueios de documentos

Itextstoreacp

ITextStoreACPSink::OnLockGranted

constantes TS_LF_*

Valores retornados do Repositório de Texto