Freigeben über


IPreviousVersionsInfo::AreSnapshotsAvailable-Methode (shobjidl.h)

Abfragen nach der Verfügbarkeit eines Windows Server 2003-Volumesabbilds, das zu einem früheren Zeitpunkt vom System aufgezeichnet wurde.

Syntax

HRESULT AreSnapshotsAvailable(
  [in]  LPCWSTR pszPath,
  [in]  BOOL    fOkToBeSlow,
  [out] BOOL    *pfAvailable
);

Parameter

[in] pszPath

Typ: LPCWSTR

Eine mit Null beendete Unicode-Zeichenfolge, die den vollqualifizierten Pfad zu einer Datei oder einem Ordner auf dem betreffenden Volume enthält.

Hinweis Derzeit werden nur Pfade zu Dateien und Ordnern unterstützt, die auf einem Windows Server 2003-Volume gespeichert sind.
 

[in] fOkToBeSlow

Typ: BOOL

Ein boolescher Wert, der angibt, ob ein Server kontaktiert werden soll, um die Verfügbarkeit gespeicherter Volumeimages zu bestimmen. Weitere Informationen finden Sie im Abschnitt Hinweise.

true

Wenden Sie sich an den Server, wenn die Ergebnisse noch nicht zwischengespeichert wurden.

FALSE

Wenden Sie sich nicht an den Server. Verwenden Sie stattdessen zwischengespeicherte Ergebnisse.

[out] pfAvailable

Typ: BOOL*

Ein Zeiger auf eine boolesche Variable, die das Ergebnis enthält. Dieser Wert ist nur gültig, wenn der Methodenaufruf erfolgreich ist. andernfalls ist sie nicht definiert.

true

Mindestens ein gespeichertes Image des Volumes, auf dem sich die Datei oder der Ordner mit dem Namen in pszPath befindet, ist verfügbar.

FALSE

Es werden keine Volumeimages gespeichert.

Rückgabewert

Typ: HRESULT

Gibt Standardfehlerwerte zurück, einschließlich, aber nicht beschränkt auf Folgendes:

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_PENDING
fOkToBeSlow ist FALSE , und das Ergebnis wird derzeit nicht zwischengespeichert.

Hinweise

Wenn IPreviousVersionsInfo::AreSnapshotsAvailable für eine Datei oder einen Ordner aufgerufen wird, gibt das Ergebnis nicht an, dass Rollbackinformationen für diese bestimmte Datei oder den jeweiligen Ordner verfügbar sind, sondern lediglich, dass eine Momentaufnahme des gesamten Volumes verfügbar ist. Dieses Ergebnis wird zwischengespeichert, und nachfolgende Aufrufe, die nach allen auf demselben Volume gespeicherten Elementen fragen, greifen mit geringem Leistungsaufwand auf die zwischengespeicherten Ergebnisse zu, anstatt den Server erneut zu kontaktieren.

Nachdem die Antwort des Servers im Arbeitsspeicher zwischengespeichert wurde, werden nachfolgende Aufrufe nicht mit dem Server in Verbindung treten, auch wenn fOkToBeSlowTRUE ist. Wenn fOkToBeSlowfalse ist und die Antwort des Servers noch nicht von einem vorherigen Aufruf zwischengespeichert wurde, gibt die Methode E_PENDING zurück. Legen Sie in diesem Fall fOkToBeSlow auf TRUE fest, und rufen Sie IPreviousVersionsInfo::AreSnapshotsAvailable erneut auf, um den Server zu kontaktieren.

Um die Leistung zu verbessern, sollte ein UI-Thread, der diese Methode aufruft , fOkToBeSlow immer auf FALSE festlegen. Wenn die Methode E_PENDING zurückgibt, führen Sie die folgenden Schritte aus.

  • Erstellen Sie eine weitere instance von IPreviousVersionsInfo in einem Hintergrundthread.
  • Rufen Sie IPreviousVersionsInfo::AreSnapshotsAvailable auf , wobei fOkToBeSlow auf TRUE festgelegt ist.
  • Signalisieren Sie dem ursprünglichen UI-Thread, IPreviousVersionsInfo::AreSnapshotsAvailable erneut aufzurufen. Die Ergebnisse werden dann aus dem Cache abgerufen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl.h
DLL Twext.dll (Version 5.2 oder höher)