VSS intializefor backup non riesce con il codice di ritorno E_UNEXPECTED
-
03-10-2019 - |
Domanda
#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;
}
nel intializeforbackup programma di cui sopra viene a mancare con il codice di errore E_UNEXPECTED. Il servizio VSS è in esecuzione. Nel registro eventi che spettacoli come "Volume Shadow Copy Service errore:. Chiamata inattesa di errore CoCreateInstance di routine hr = 0x800401F0." .. Eventuali soluzioni per l'InitializeForBackup di ritornare S_OK
?Soluzione
È necessario inizializzare la libreria COM con la funzione CoInitialize.
HRESULT result = CoInitialize(NULL);
CHECK_PRINT(result);
result = CreateVssBackupComponents(&VssHandle);
CHECK_PRINT(result);
result = VssHandle->InitializeForBackup();
CHECK_PRINT(result);
Questo vi darà tutte le S_OKs
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow