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.
[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 |
---|---|
|
Erfolg. |
|
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) |