vv intializefor sauvegarde échoue avec le code de retour E_UNEXPECTED
-
03-10-2019 - |
Question
#include "vss.h"
#include "vswriter.h"
#include <VsBackup.h>
#include <stdio.h>
#define CHECK_PRINT(result) printf("%s\n",result==S_OK?"S_OK":"error")
int main(int argc, char* argv[])
{
BSTR xml;
LPTSTR errorText;
IVssBackupComponents *VssHandle;
HRESULT result = CreateVssBackupComponents(&VssHandle);
CHECK_PRINT(result);
result = VssHandle->InitializeForBackup();
printf("unexpected%x\n",result);
system("pause");
return 0;
}
dans le intializeforbackup du programme ci-dessus échoue avec le code d'erreur E_UNEXPECTED. Le service VSS est en cours d'exécution. Dans le journal des événements, il montre que "Volume Shadow Copy Erreur de service:. Erreur inattendue appelant la routine CoCreateInstance hr = 0x800401f0." .. Toutes les solutions pour le InitializeForBackup à S_OK
?La solution
Vous devez initialiser la bibliothèque COM avec la fonction CoInitialize.
HRESULT result = CoInitialize(NULL);
CHECK_PRINT(result);
result = CreateVssBackupComponents(&VssHandle);
CHECK_PRINT(result);
result = VssHandle->InitializeForBackup();
CHECK_PRINT(result);
Cela vous donnera tous S_OKs
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow