Metodo CVssWriterEx::InitializeEx (vswriter.h)
Inizializza un oggetto CVssWriterEx e consente a un'applicazione writer di interagire con VSS. A differenza del metodo Initialize, il metodo InitializeEx consente al chiamante di specificare le informazioni sulla versione del writer.
InitializeEx è un metodo pubblico implementato dalla classe base CVssWriterEx .
I writer devono chiamare Initialize o InitializeEx, ma non entrambi.
Sintassi
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
);
Parametri
[in] WriterId
Identificatore univoco globale (GUID) della classe writer.
[in] wszWriterName
Stringa di caratteri wide con terminazione null contenente il nome del writer. Questa stringa non è localizzata.
[in] dwMajorVersion
Versione principale dell'applicazione writer. Per altre informazioni, vedere la sezione Osservazioni.
[in] dwMinorVersion
Versione secondaria dell'applicazione writer. Per altre informazioni, vedere la sezione Osservazioni.
[in] ut
Valore di enumerazione VSS_USAGE_TYPE che indica come vengono usati i dati gestiti dal writer nel sistema host.
[in] st
Valore di enumerazione VSS_SOURCE_TYPE che indica il tipo di dati gestiti dal writer.
[in] nLevel
Valore di enumerazione VSS_APPLICATION_LEVEL che indica il livello di applicazione a cui il writer riceve una notifica di evento Freeze .
Il valore predefinito per questo parametro è VSS_APP_FRONT_END.
[in] dwTimeoutFreeze
Tempo massimo consentito, in millisecondi, tra la ricezione del writer di una notifica di evento Freeze e la ricezione di una notifica di evento Thaw corrispondente da VSS. Dopo la scadenza del timeout, il metodo OnAbort del writer viene chiamato automaticamente.
Il valore predefinito per questo parametro è 60000.
[in] aws
Valore di enumerazione VSS_ALTERNATE_WRITER_STATE che indica se il writer ha un writer alternativo associato.
Il valore predefinito per questo parametro è VSS_AWS_NO_ALTERNATE_WRITER. Il chiamante non deve eseguire l'override di questo valore predefinito. Questo parametro è riservato per usi futuri.
[in] bIOThrottlingOnly
Impostare questo parametro su true se i metodi di limitazione di I/O sono abilitati o false in caso contrario.
Il valore predefinito per questo parametro è false. Il chiamante non deve eseguire l'override di questo valore predefinito. Questo parametro è riservato per usi futuri.
[in] wszWriterInstanceName
Stringa di caratteri wide con terminazione null contenente il nome dell'istanza del writer.
Il valore predefinito per questo parametro è NULL. Se il writer dispone di più istanze e richiede eventi di ripristino, questo parametro è obbligatorio e non può essere NULL. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
Valore restituito
Di seguito sono riportati i codici restituiti validi per questo metodo.
Valore | Significato |
---|---|
|
L'oggetto writer è stato inizializzato correttamente. |
|
Impossibile inizializzare l'oggetto writer; l'infrastruttura del writer VSS era inattiva perché Windows era in modalità sicura o era configurato. |
|
Il chiamante non è un amministratore. |
|
Uno dei valori dei parametri non è valido. |
|
Il chiamante non è in memoria o altre risorse di sistema. |
|
Errore imprevisto. Il codice di errore viene registrato nel file di log degli errori. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Server 2008 R2 e Windows 7. E_UNEXPECTED viene invece usato. |
Commenti
Il metodo InitializeEx è identico al metodo Initialize , ad eccezione dei parametri dwMajorVersion e dwMinorVersion . Se il writer usa Initialize anziché InitializeEx, la versione writer verrà segnalata come 0.0 (versione principale = 0, versione secondaria = 0) dal metodo IVssExamineWriterMetadataExamineWriterEx2::GetVersion.
I parametri dwMajorVersion e dwMinorVersion vengono usati per specificare i numeri di versione principale e secondaria del writer in base alle convenzioni VSS seguenti:
- Se il writer è cambiato da Windows XP o è nuovo per Windows Vista, deve specificare 1.0 o superiore per il relativo numero di versione.
- Il numero di versione secondaria di un writer deve essere incrementato di uno ogni volta che una versione rilasciata del writer contiene modifiche secondarie che influiscono sull'interazione del writer con i richiedenti. Ad esempio, una correzione a una specifica di file in un QFE writer o service pack giustifica l'incremento del numero di versione secondaria. Tuttavia, una modifica tra le versioni beta o release candidate di un writer non giustifica la modifica del numero di versione secondaria.
- Il numero di versione principale di un writer deve essere incrementato per uno ogni volta che una versione rilasciata del writer contiene una modifica significativa. Ad esempio, se i dati sottoposti a backup con una nuova versione di un writer non possono essere ripristinati usando la versione precedente del writer, il numero di versione principale del nuovo writer deve essere incrementato.
- Ogni volta che viene incrementato il numero di versione principale, il numero di versione secondaria deve essere reimpostato su zero.
VSS assegna un ID istanza di writer univoco a ogni istanza di un'applicazione writer. Se nel sistema sono presenti più istanze (ad esempio, se più server SQL sono in esecuzione in un sistema), ogni writer viene identificato in modo univoco dalla combinazione dell'ID classe writer e dell'ID istanza del writer.
Il parametro wszWriterInstanceName consente a un writer multiistanza di specificare un nome persistente per ogni istanza del writer come stringa leggibile dall'utente. Questo nome deve essere univoco in tutte le istanze del writer nel sistema. Se un writer ha più istanze e richiede eventi di ripristino, deve specificare una stringa non NULL per questo parametro. VSS usa il nome dell'istanza per ripristinare correttamente i writer multiistanza.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | vswriter.h (include Vss.h, VsWriter.h) |
Libreria | VssApi.lib |