Metodo ITextStoreACP::RequestLock (textstor.h)
Il metodo ITextStoreACP::RequestLock viene chiamato dal gestore TSF per fornire un blocco di documento per modificare il documento. Questo metodo chiama il metodo ITextStoreACPSink::OnLockGranted per creare il blocco del documento.
Sintassi
HRESULT RequestLock(
[in] DWORD dwLockFlags,
[out] HRESULT *phrSession
);
Parametri
[in] dwLockFlags
Specifica il tipo di blocco richiesto.
[out] phrSession
Se la richiesta di blocco è sincrona, riceve un valore HRESULT dal metodo ITextStoreAnchorSink::OnLockGranted che specifica il risultato della richiesta di blocco.
Se la richiesta di blocco è asincrona e il risultato è TS_S_ASYNC, il documento riceve un blocco asincrono. Se la richiesta di blocco è asincrona e il risultato è TS_E_SYNCHRONOUS, il documento non può essere bloccato in modo sincrono.
Valore restituito
Questo metodo può restituire uno di questi valori.
Valore | Descrizione |
---|---|
|
Il metodo è stato eseguito correttamente. |
|
Si è verificato un errore non specificato. |
Commenti
Questo metodo usa il metodo ITextStoreACPSink::OnLockGranted per bloccare il documento. Le applicazioni non devono mai modificare il documento o inviare notifiche di modifica usando il metodo ITextStoreACPSink::OnTextChange dall'interno del metodo ITextStoreACP::RequestLock . Se l'applicazione presenta modifiche in sospeso per il report, l'applicazione può rispondere solo alla richiesta di blocco asincrona.
Le applicazioni non devono tentare di accodare più chiamate al metodo ITextStoreACP::RequestLock , perché l'applicazione richiede un solo callback. Se il chiamante effettua diverse richieste di lettura e una o più richieste di scrittura, tuttavia, il callback deve essere per l'accesso in scrittura.
Le richieste riuscite per i blocchi sincroni sostituiscono le richieste per i blocchi asincroni. Le richieste non riuscite per i blocchi sincroni non sostituiscono le richieste per i blocchi asincroni. L'implementazione deve comunque gestire la richiesta asincrona in sospeso, se presente.
Se il blocco viene concesso prima che venga restituito il metodo ITextStoreACP::RequestLock , il parametro phrSession riceverà il valore HRESULT restituito dal metodo ITextStoreACPSink::OnLockGranted . Se la chiamata ha esito positivo, ma il blocco verrà concesso in un secondo momento, il parametro phrSession riceve il flag TS_S_ASYNC. Il parametro phrSession deve essere ignorato se ITextStoreACP::RequestLock restituisce qualsiasi valore diverso da S_OK.
Un chiamante non deve mai chiamare questo metodo in modo ricorsivo, tranne nel caso in cui il chiamante contenga un blocco di sola lettura. In questo caso il metodo può essere chiamato in modo reentrantly per richiedere un blocco di scrittura asincrono. Il blocco di scrittura verrà concesso in un secondo momento, al termine del blocco di sola lettura.
Per altre informazioni sui blocchi dei documenti, vedere Blocchi di documenti.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | textstor.h |
DLL | Msctf.dll |
Componente ridistribuibile | TSF 1.0 in Windows 2000 Professional |