Einzelnen Beitrag anzeigen

kopernikus

Registriert seit: 8. Feb 2008
19 Beiträge
 
Delphi 10 Seattle Professional
 
#33

AW: Volume Shadow Copy Service

  Alt 8. Jul 2017, 13:58
Hier ein Beispiel, wie man die VSS-Routinen in ein eigenes Programm einbinden kann:
Code:
...
    procedure ShowVssStatus (const AStatus : string);
    begin
      ...
      end;
...
    VssThread:=CreateVssThread(Drive,true);
    with VssThread do begin
      LogFilename:=TempDir+'VssLog.txt';
      WriteLog:=true;
      OnStatusMessage:=ShowVssStatus;
      Resume;
      WriteLineToLog('Creating a Volume Shadow Copy: '+DateTimeToStr(Now));
      repeat
        Sleep(1);
        Application.ProcessMessages;
        until Done;
      if Success then begin
        SaveBackupComponentsDocument(TempDir+'VssBackupDoc.xml');
        SourceDrv:=ShadowDeviceName;
        end
      else begin
        WriteLineToLog(sLineBreak+'Snapshot creation failed');
        FreeAndNil(VssThread);
        SourceDrv:=Drive;
        end;
      end;
...
// Backup or similar action
...
  if assigned(VssThread) then begin
    try
      VssThread.DeleteShadowCopy;
    finally
      FreeAndNil(VssThread);
      end;
    end;
...
Im Anhang gibt es außerdem eine aktualisierte Version des Programms.
Angehängte Dateien
Dateityp: zip Vss-s.zip (106,8 KB, 36x aufgerufen)
Dateityp: zip VsToolkit.zip (995,2 KB, 32x aufgerufen)

Geändert von kopernikus ( 8. Jul 2017 um 14:03 Uhr)
  Mit Zitat antworten Zitat