Freigeben über


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
S_OK
Das Writer-Objekt wurde erfolgreich initialisiert.
S_FALSE
Das Writer-Objekt konnte nicht initialisiert werden. Die VSS Writer-Infrastruktur war inaktiv, weil Windows sich im abgesicherten Modus befand oder eingerichtet wurde.
E_ACCESSDENIED
Der Aufrufer ist kein Administrator.
E_INVALIDARG
Einer der Parameterwerte ist ungültig.
E_OUTOFMEMORY
Der Aufrufer verfügt über nicht genügend Arbeitsspeicher oder andere Systemressourcen.
VSS_E_UNEXPECTED
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.
Wenn ein Writer keine Versionsnummer angibt, weist VSS die Standardversionsnummer 0.0 zu.

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

Weitere Informationen

CVssWriterEx

IVssExamineWriterMetadataEx2::GetVersion