Condividi tramite


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.

Nota Sono attualmente supportati solo i percorsi di file e cartelle archiviati in un volume di Windows Server 2003.
 

[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
S_OK
Operazione completata.
E_PENDING
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)