Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt die Fehlermeldungszeichenfolge PrepareForBackup zurück, die ein Writer für eine bestimmte Komponente festgelegt hat.
Sowohl Autoren als auch Anforderer können diese Methode aufrufen.
Syntax
HRESULT GetPrepareForBackupFailureMsg(
[out] BSTR *pbstrFailureMsg
);
Parameter
[out] pbstrFailureMsg
Ein Zeiger auf eine mit NULL beendete breite Zeichenfolge, die die Fehlermeldung enthält, die einen Fehler beschreibt, der beim Verarbeiten eines PrepareForBackup-Ereignisses aufgetreten ist.
Rückgabewert
Im Folgenden sind die gültigen Rückgabecodes für diese Methode aufgeführt.
| Wert | Bedeutung |
|---|---|
|
Die Fehlermeldung wurde erfolgreich abgerufen. |
|
Für die Komponente wurde keine PrepareForBackup-Fehlermeldung festgelegt. |
|
Einer der Parameterwerte ist ungültig. |
|
Der Aufrufer verfügt nicht über Arbeitsspeicher oder andere Systemressourcen. |
Hinweise
Der Aufrufer ist für das Freigeben der Zeichenfolge verantwortlich, auf die der pbstrFailureMsg-Parameter verweist, indem er die SysFreeString-Funktion aufruft.
Beispiele
#include <windows.h>
#include "vss.h"
#include "vsmgmt.h"
#define CHKARG_ASSERT(EXPR)
do
{
if(! ( EXPR ) )
{
assert(FALSE);
hr = E_INVALIDARG;
goto exit;
}
}
while ( FALSE, FALSE );
#define CHK(HR)
do
{
hr = ( HR ) ;
if(FAILED(HR))
{
hr = HR;
goto exit;
}
}
while ( FALSE, FALSE );
STDMETHODIMP CheckAsrBackupErrorMsg
(
IVssBackupComponents *pBackup,
const WCHAR *pwszWriterName
)
{
CComPtr<IVssWriterComponentsExt> spWriter;
CComPtr<IVssComponent> spComponent;
CComPtr<IVssComponentEx> spComponentEx;
UINT cWriterComponents = 0;
UINT iWriterComponent = 0;
UINT cComponents = 0;
UINT iComponent = 0;
VSS_ID idWriter;
VSS_ID idInstance;
CComBSTR bstrFailureMsg;
HRESULT hr = S_OK;
CHKARG_ASSERT( pBackup );
CHKARG_ASSERT( pwszWriterName );
CHK( pBackup->GetWriterComponentsCount( &cWriterComponents ) );
for( iWriterComponent = 0; iWriterComponent < cWriterComponents; iWriterComponent++ )
{
spWriter.Release();
CHK( pBackup->GetWriterComponents( iWriterComponent, &spWriter ) );
CHK( spWriter->GetWriterInfo(&idInstance, &idWriter) );
if( idWriter != c_ASRWriterId )
{
continue;
}
CHK( spWriter->GetComponentCount(&cComponents) );
for( iComponent = 0; iComponent < cComponents; iComponent++ )
{
spComponent.Release();
spComponentEx.Release();
CHK( spWriter->GetComponent(iComponent, &spComponent) );
CHK( spComponent->QueryInterface(__uuidof(IVssComponentEx), (void**)&spComponentEx) );
bstrFailureMsg.Empty();
CHK( spComponentEx->GetPrepareForBackupFailureMsg(&bstrFailureMsg) );
if( ::SysStringLen(bstrFailureMsg) != 0 )
{
// Write into the event log.
Log_SPP_ERROR_WRITER( &ft, __LINE__, pwszWriterName, bstrFailureMsg );
// The ASR writer writes the same message to all components.
// Log the message once.
break;
}
}
}
exit:
return hr;
}
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 (einschließlich Vss.h, VsWriter.h) |
| Bibliothek | VssApi.lib |