Condividi tramite


Metodo IVssBackupComponentsEx3::GetWriterStatusEx (vsbackup.h)

Restituisce informazioni sullo stato estese per il writer specificato.

Sintassi

HRESULT GetWriterStatusEx(
  [in]            UINT             iWriter,
  [out]           VSS_ID           *pidInstance,
  [out]           VSS_ID           *pidWriter,
  [out]           BSTR             *pbstrWriter,
  [out]           VSS_WRITER_STATE *pnStatus,
  [out]           HRESULT          *phrFailureWriter,
  [out, optional] HRESULT          *phrApplication,
  [out, optional] BSTR             *pbstrApplicationMessage
);

Parametri

[in] iWriter

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

[out] pidInstance

Indirizzo di una variabile allocata dal chiamante che riceve l'identificatore dell'istanza del writer. Questo parametro è obbligatorio e non può essere NULL.

[out] pidWriter

Indirizzo di una variabile allocata dal chiamante che riceve l'identificatore per la classe writer. Questo parametro è obbligatorio e non può essere NULL.

[out] pbstrWriter

Indirizzo di una variabile allocata dal chiamante che riceve una stringa contenente il nome del writer specificato. Questo parametro è obbligatorio e non può essere NULL.

[out] pnStatus

Indirizzo di una variabile allocata dal chiamante che riceve un valore di enumerazione VSS_WRITER_STATE. Questo parametro è obbligatorio e non può essere NULL.

[out] phrFailureWriter

Indirizzo di una variabile allocata dal chiamante che riceve il codice di errore HRESULT restituito dal writer per il parametro hrWriter del metodo CVssWriterEx2::SetWriterFailureEx .

Di seguito sono riportati i valori supportati.

Valore Significato
S_OK
Il writer ha avuto esito positivo.
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT
La copia shadow contiene solo un subset dei volumi necessari al writer per eseguire correttamente il backup del componente dell'applicazione.
VSS_E_WRITERERROR_OUTOFRESOURCES
Il writer ha esaurito la 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 verificherebbe se l'intero processo di backup, ripristino o creazione della copia shadow è stato riavviato. 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 del 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. Un writer può aver raggiunto il numero massimo di sessioni di backup e ripristino disponibili.
VSS_E_WRITERERROR_PARTIAL_FAILURE
Il writer segnala uno o più errori a livello di componente. Per recuperare gli errori, il richiedente deve usare il metodo IVssComponentEx2::GetFailure .

[out, optional] phrApplication

Indirizzo di una variabile allocata dal chiamante che riceve il codice restituito passato dal writer per il parametro hrApplication del metodo CVssWriterEx2::SetWriterFailureEx . Questo parametro è facoltativo e può essere NULL.

[out, optional] pbstrApplicationMessage

Indirizzo di una variabile che riceve il messaggio di errore dell'applicazione che il writer ha passato per il parametro wszApplicationMessage del metodo SetWriterFailureEx . Questo parametro è facoltativo e può essere NULL.

Valore restituito

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

Valore Significato
S_OK
0x0000000L
È stato restituito lo stato del writer specificato. Si noti che il valore del parametro phrFailureWriter 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 del writer.
E_INVALIDARG
0x80070057L
Il parametro pnStatus, pidWriter, pbstrWriter o pidInstance è NULL.
E_OUTOFMEMORY
0x8007000EL
Il chiamante non è in memoria o in altre risorse di sistema.
VSS_E_BAD_STATE
0x80042301L
L'oggetto componenti di backup non viene inizializzato, questo metodo è stato chiamato durante un'operazione di ripristino oppure questo metodo non è stato chiamato all'interno della sequenza corretta.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
Il parametro iWriter specifica un writer che non esiste.

Commenti

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

Se questo metodo restituisce VSS_E_WRITERERROR_PARTIAL_FAILURE, il richiedente deve usare il metodo IVssComponentEx2::GetFailure per recuperare gli errori a livello di componente.

Al termine dell'accesso alle informazioni sullo stato restituite da questo metodo, il chiama SysFreeString per liberare la memoria contenuta nei parametri pbstrWriter e pbstrApplicationMessage .

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vsbackup.h (include VsBackup.h, Vss.h, VsWriter.h)

Vedi anche

CVssWriterEx2::SetWriterFailureEx

IVssBackupComponents::GetWriterStatus

IVssBackupComponentsEx3