Metodo IPreviousVersionsInfo::AreSnapshotsAvailable (shobjidl.h)
Esegue una query sulla disponibilità di un'immagine del volume di Windows Server 2003 registrata dal sistema in precedenza.
Sintassi
HRESULT AreSnapshotsAvailable(
[in] LPCWSTR pszPath,
[in] BOOL fOkToBeSlow,
[out] BOOL *pfAvailable
);
Parametri
[in] pszPath
Tipo: LPCWSTR
Stringa Unicode con terminazione Null contenente il percorso completo di un file o di una cartella nel volume in questione.
[in] fOkToBeSlow
Tipo: BOOL
Valore booleano che specifica se è necessario contattare un server per determinare la disponibilità delle immagini del volume archiviate. Per altri dettagli, vedere la sezione Osservazioni.
true
Contattare il server se i risultati non sono già memorizzati nella cache.
FALSE
Non contattare il server. Usare invece i risultati memorizzati nella cache.
[out] pfAvailable
Tipo: BOOL*
Puntatore a una variabile booleana contenente il risultato. Questo valore è valido solo se la chiamata al metodo ha esito positivo; in caso contrario, non è definito.
true
È disponibile almeno un'immagine archiviata del volume in cui risiede il file o la cartella denominata in pszPath .
FALSE
Nessuna immagine del volume archiviata.
Valore restituito
Tipo: HRESULT
Restituisce i valori di errore standard, tra cui, ad esempio, i valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
fOkToBeSlow è FALSE e il risultato non è attualmente memorizzato nella cache. |
Commenti
Se IPreviousVersionsInfo::AreSnapshotsAvailable viene chiamato in un file o in una cartella, il risultato non indica che le informazioni di rollback sono disponibili per tale file o cartella specifica, semplicemente che è disponibile uno snapshot dell'intero volume. Questo risultato viene memorizzato nella cache e le chiamate successive che inquisono su qualsiasi elemento archiviato nello stesso volume accedono ai risultati memorizzati nella cache, con un sovraccarico di prestazioni ridotto, invece di ricontattare il server.
Quando la risposta del server viene memorizzata nella cache in memoria, le chiamate successive non contattano il server anche se fOkToBeSlow è TRUE. Se fOkToBeSlow è FALSE e la risposta del server non è già memorizzata nella cache da una chiamata precedente, il metodo restituisce E_PENDING. In tal caso, impostare fOkToBeSlow su TRUE e chiamare nuovamente IPreviousVersionsInfo::AreSnapshotsAvailable per contattare il server.
Per prestazioni migliori, un thread dell'interfaccia utente che chiama questo metodo deve sempre impostare fOkToBeSlow su FALSE. Se il metodo restituisce E_PENDING, seguire questa procedura.
- Creare un'altra istanza di IPreviousVersionsInfo in un thread in background.
- Chiamare IPreviousVersionsInfo::AreSnapshotsAvailable con fOkToBeSlow impostato su TRUE.
- Segnalare il thread dell'interfaccia utente originale per chiamare nuovamente IPreviousVersionsInfo::AreSnapshotsAvailable . I risultati vengono quindi estratti dalla cache.
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shobjidl.h |
DLL | Twext.dll (versione 5.2 o successiva) |