Condividi tramite


Metodo IVssBackupComponents::GetWriterStatus (vsbackup.h)

Il metodo GetWriterStatus restituisce lo stato del writer specificato.

Sintassi

HRESULT GetWriterStatus(
  [in]  UINT             iWriter,
  [out] VSS_ID           *pidInstance,
  [out] VSS_ID           *pidWriter,
  [out] BSTR             *pbstrWriter,
  [out] VSS_WRITER_STATE *pnStatus,
  [out] HRESULT          *phResultFailure
);

Parametri

[in] iWriter

Indice del writer i cui metadati devono essere recuperati. Il valore di questo parametro è un intero compreso tra 0 e n-1, dove n è il numero totale di writer nel sistema corrente. Il valore di n viene restituito da IVssBackupComponents::GetWriterStatusCount.

[out] pidInstance

Indirizzo di una variabile allocata dal chiamante che riceve l'identificatore dell'istanza del writer.

[out] pidWriter

Indirizzo di una variabile allocata dal chiamante che riceve l'identificatore per la classe writer.

[out] pbstrWriter

Indirizzo di una variabile allocata dal chiamante che riceve una stringa contenente il nome del writer specificato.

[out] pnStatus

Indirizzo di una variabile allocata dal chiamante che riceve un valore di enumerazione VSS_WRITER_STATE .

[out] phResultFailure

Indirizzo di una variabile allocata dal chiamante che riceve il codice di errore HRESULT restituito dal writer.

Di seguito sono riportati i valori supportati per pHrResultFailure.

Valore Significato
S_OK
Il writer ha avuto successo.
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT
La copia shadow contiene solo un subset dei volumi necessari dal writer per eseguire correttamente il backup del componente dell'applicazione.
VSS_E_WRITERERROR_OUTOFRESOURCES
Il writer ha esaurito memoria o altre risorse di sistema. Il modo consigliato per gestire questo codice di errore consiste nell'attendere dieci minuti e quindi ripetere l'operazione, fino a tre volte.
VSS_E_WRITERERROR_TIMEOUT
L'operazione writer non è riuscita a causa di un timeout tra gli eventi Freeze e Thaw. Il modo consigliato per gestire questo codice di errore consiste nell'attendere dieci minuti e quindi ripetere l'operazione, fino a tre volte.
VSS_E_WRITERERROR_RETRYABLE
Il writer non è riuscito a causa di un errore che probabilmente non si verifica se è stato riavviato l'intero processo di backup, ripristino o copia shadow. Il modo consigliato per gestire questo codice di errore consiste nell'attendere dieci minuti e quindi ripetere l'operazione, fino a tre volte.
VSS_E_WRITERERROR_NONRETRYABLE
L'operazione writer non è riuscita a causa di un errore che potrebbe verificarsi se viene creata un'altra copia shadow. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS.
VSS_E_WRITER_NOT_RESPONDING
Il writer non risponde.
VSS_E_WRITER_STATUS_NOT_AVAILABLE
Lo stato del writer non è disponibile per uno o più writer. È possibile che un writer abbia raggiunto il numero massimo di sessioni di backup e ripristino disponibili.

Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.

Valore restituito

Di seguito sono riportati i codici restituiti validi per questo metodo.

Valore Significato
S_OK
Restituito correttamente lo stato del writer specificato. Si noti che il valore del parametro pHrWriterFailure deve essere controllato per verificare che il writer sia riuscito. I codici di errore del writer possono essere tra quelli elencati in VsWriter.h e in Errori e veto di writer.
E_INVALIDARG
Uno dei valori dei parametri non è valido.
E_OUTOFMEMORY
Il chiamante non è in memoria o altre risorse di sistema.
VSS_E_BAD_STATE
L'oggetto componenti di backup non viene inizializzato, questo metodo è stato chiamato durante un'operazione di ripristino o questo metodo non è stato chiamato all'interno della sequenza corretta.
VSS_E_OBJECT_NOT_FOUND
Il writer specificato non esiste.
VSS_E_UNEXPECTED
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

Un richiedente deve chiamare l'operazione asincrona IVssBackupComponents::GatherWriterStatus e attendere il completamento prima di chiamare GetWriterStatus.

Al termine dell'accesso alle informazioni sullo stato restituite da questo metodo, il chiama SysFreeString per liberare la memoria mantenuta dal parametro pbstrWriter .

I valori VSS_E_WRITERERROR_XXX restituiti nel parametro pHrResultFailure vengono generati da writer. VSS_E_WRITER_NOT_RESPONDING e VSS_E_WRITER_STATUS_NOT_AVAILABLE vengono generati da VSS.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vsbackup.h (include VsBackup.h, Vss.h, VsWriter.h)
Libreria VssApi.lib

Vedi anche

IVssBackupComponents

IVssBackupComponents::GatherWriterStatus

IVssBackupComponents::GetWriterStatusCount