CVssWriterEx::InitializeEx-Methode (vswriter.h)
Initialisiert ein CVssWriterEx-Objekt und ermöglicht es einer Writeranwendung, mit VSS zu interagieren. Im Gegensatz zur Initialize-Methode ermöglicht die InitializeEx-Methode dem Aufrufer die Angabe von Writerversionsinformationen.
InitializeEx ist eine öffentliche Methode, die von der CVssWriterEx-Basisklasse implementiert wird.
Writer müssen Initialize oder InitializeEx aufrufen, aber nicht beide.
Syntax
HRESULT InitializeEx(
[in] VSS_ID WriterId,
[in] LPCWSTR wszWriterName,
[in] DWORD dwMajorVersion,
[in] DWORD dwMinorVersion,
[in] VSS_USAGE_TYPE ut,
[in] VSS_SOURCE_TYPE st,
[in] VSS_APPLICATION_LEVEL nLevel,
[in] DWORD dwTimeoutFreeze,
[in] VSS_ALTERNATE_WRITER_STATE aws,
[in] bool bIOThrottlingOnly,
[in] LPCWSTR wszWriterInstanceName
);
Parameter
[in] WriterId
Die GUID (Globally Unique Identifier) der Writer-Klasse.
[in] wszWriterName
Eine mit NULL endende Breitzeichenzeichenfolge, die den Namen des Writer enthält. Diese Zeichenfolge ist nicht lokalisiert.
[in] dwMajorVersion
Die Hauptversion der Writer-Anwendung. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
[in] dwMinorVersion
Die Nebenversion der Writer-Anwendung. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
[in] ut
Ein VSS_USAGE_TYPE Enumerationswert, der angibt, wie die vom Writer verwalteten Daten auf dem Hostsystem verwendet werden.
[in] st
Ein VSS_SOURCE_TYPE Enumerationswert, der den Datentyp angibt, der vom Writer verwaltet wird.
[in] nLevel
Ein VSS_APPLICATION_LEVEL Enumerationswert, der die Anwendungsebene angibt, auf der der Writer eine Freeze-Ereignisbenachrichtigung empfängt.
Der Standardwert für diesen Parameter ist VSS_APP_FRONT_END.
[in] dwTimeoutFreeze
Die maximal zulässige Zeit in Millisekunden zwischen dem Empfang einer Freeze-Ereignisbenachrichtigung durch den Writer und dem Empfang einer entsprechenden Thaw-Ereignisbenachrichtigung von VSS. Nach Ablauf des Timeouts wird die OnAbort-Methode des Writers automatisch aufgerufen.
Der Standardwert für diesen Parameter ist 60000.
[in] aws
Ein VSS_ALTERNATE_WRITER_STATE Enumerationswert, der angibt, ob der Writer über einen alternativen Writer verfügt.
Der Standardwert für diesen Parameter ist VSS_AWS_NO_ALTERNATE_WRITER. Der Aufrufer sollte diesen Standardwert nicht überschreiben. Dieser Parameter ist für die zukünftige Verwendung reserviert.
[in] bIOThrottlingOnly
Legen Sie diesen Parameter auf true fest, wenn E/A-Drosselungsmethoden aktiviert sind, oder andernfalls false .
Der Standardwert für diesen Parameter ist false. Der Aufrufer sollte diesen Standardwert nicht überschreiben. Dieser Parameter ist für die zukünftige Verwendung reserviert.
[in] wszWriterInstanceName
Eine mit NULL endende Breitzeichenzeichenfolge, die den Writer instance Namen enthält.
Der Standardwert für diesen Parameter ist NULL. Wenn der Writer über mehrere Instanzen verfügt und Wiederherstellungsereignisse erfordert, ist dieser Parameter erforderlich und darf nicht NULL sein. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Rückgabewert
Im Folgenden finden Sie die gültigen Rückgabecodes für diese Methode.
Wert | Bedeutung |
---|---|
|
Das Writer-Objekt wurde erfolgreich initialisiert. |
|
Das Writer-Objekt konnte nicht initialisiert werden. Die VSS Writer-Infrastruktur war inaktiv, weil Windows sich im abgesicherten Modus befand oder eingerichtet wurde. |
|
Der Aufrufer ist kein Administrator. |
|
Einer der Parameterwerte ist ungültig. |
|
Der Aufrufer verfügt über nicht genügend Arbeitsspeicher oder andere Systemressourcen. |
|
Unerwarteter Fehler. Der Fehlercode wird in der Fehlerprotokolldatei protokolliert. Weitere Informationen finden Sie unter Ereignis- und Fehlerbehandlung unter VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird erst unter Windows Server 2008 R2 und Windows 7 unterstützt. stattdessen wird E_UNEXPECTED verwendet. |
Hinweise
Die InitializeEx-Methode ist mit der Initialize-Methode identisch, mit Ausnahme der Parameter dwMajorVersion und dwMinorVersion . Wenn der Writer Initialize anstelle von InitializeEx verwendet, wird die Writerversion von der IVssExamineWriterMetadataEx2::GetVersion-Methode als 0.0 (Hauptversion = 0, Nebenversion = 0) gemeldet.
Die Parameter dwMajorVersion und dwMinorVersion werden verwendet, um die Haupt- und Nebenversionsnummern des Writers gemäß den folgenden VSS-Konventionen anzugeben:
- Wenn sich der Writer seit Windows XP geändert hat oder für Windows Vista neu ist, sollte 1.0 oder höher als Versionsnummer angegeben werden.
- Die Nebenversionsnummer eines Writers sollte um eins erhöht werden, wenn eine veröffentlichte Version des Writers geringfügige Änderungen enthält, die sich auf die Interaktion des Writers mit den Anforderern auswirken. Beispielsweise würde eine Korrektur einer Dateispezifikation in einem Writer QFE oder Service Pack die Erhöhung der Nebenversionsnummer rechtfertigen. Eine Änderung zwischen Beta- oder Release candidate-Versionen eines Writers würde jedoch nicht die Änderung der Nebenversionsnummer rechtfertigen.
- Die Hauptversionsnummer eines Writers sollte um eine inkrementiert werden, wenn eine veröffentlichte Version des Writers eine wesentliche Änderung enthält. Wenn beispielsweise Daten, die mit einer neuen Version eines Writer gesichert werden, nicht mit der vorherigen Version des Writers wiederhergestellt werden können, sollte die Hauptversionsnummer des neuen Writers erhöht werden.
- Immer wenn die Hauptversionsnummer erhöht wird, sollte die Nebenversionsnummer auf 0 zurückgesetzt werden.
VSS weist jedem instance einer Writeranwendung eine eindeutige Writer-instance-ID zu. Wenn mehrere instance gleichzeitig auf dem System vorhanden sind (z. B. wenn mehrere SQL Server auf einem System ausgeführt werden), wird jeder Writer durch die Kombination seiner Writer-Klassen-ID und seiner Writer-instance-ID eindeutig identifiziert.
Der wszWriterInstanceName-Parameter ermöglicht es einem Writer mit mehreren instance, einen persistenten Namen für jeden Writer instance als lesbare Zeichenfolge anzugeben. Dieser Name muss für alle Instanzen des Writers im System eindeutig sein. Wenn ein Writer über mehrere Instanzen verfügt und Wiederherstellungsereignisse erfordert, muss er eine Zeichenfolge ungleich NULL für diesen Parameter angeben. VSS verwendet den instance Namen, um Writer mit mehreren instance ordnungsgemäß wiederherzustellen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | vswriter.h (enthalten Vss.h, VsWriter.h) |
Bibliothek | VssApi.lib |