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

?
È stato utile?

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
scroll top