요청자에 의한 복원을 위한 서비스 중지
복원 작업 후에 서비스를 중지하고 다시 시작해야 할 수 있습니다.
일반적으로 PreRestore 이벤트(CVssWriter::OnPreRestore 사용) 및 PostRestore 이벤트(CVssWriter::OnPostRestore 사용)를 처리할 때 기록기가 복원을 지원하는 서비스를 중지하고 시작합니다.
그러나 요청자가 실행 중인 서비스를 명시적으로 중지해야 하는 경우가 있을 수 있습니다. 기록기는 IVssCreateWriterMetadata::SetRestoreMethod 메서드에 대한 호출의 복원 메서드 인수로 VSS_RESTOREMETHOD_ENUM 열거형의 VSS_RME_STOP_RESTORE_START 또는 VSS_RME_RESTORE_STOP_START 값을 설정하고 중지할 서비스의 이름을 지정하여 이 경우를 나타냅니다.
요청자는 IVssExamineWriterMetadata::GetRestoreMethod 메서드를 사용하여 기록기 메타데이터로 작업할 때 중지할 서비스의 복원 메서드 및 이름에 대한 정보를 가져옵니다.
중지할 서비스의 이름을 지정할 때 기록기에서 해당 서비스의 올바른 공개적으로 알려진 이름을 사용하는 것이 중요합니다. 모호하거나 부정확한 이름으로 인해 요청자가 잘못된 서비스를 중지하거나 중지할 서비스를 확인할 수 없게 될 수 있습니다.
복원 작업이 완료된 후 요청자는 서비스를 다시 시작해야 합니다.
요청자가 중지하고 다시 시작해야 하는 서비스를 지원하는 기록기를 디자인하고 구현하는 데 주의해야 합니다. 특히 이러한 기록기는 실제로 서비스의 일부가 되어서는 안 됩니다. 즉, 복원 작업 과정에서 기록기 자체를 중지한 다음 다시 시작할 필요가 없습니다.
프로세스가 중지된 작성자는 다시 시작할 때 다른 기록기 instance 갖게 됩니다. 작성기의 새 instance 작성기의 원래 instance 위한 VSS 이벤트를 받지 않습니다. 특히 PreRestore 이벤트를 처리한 후 기록기 instance 프로세스가 중지되면 새 instance PostRestore 이벤트를 수신하지 않습니다. 또한 VSS는 복원 작업에서 참여하는 기록기의 손실을 나타내는 오류를 생성하고 IVssBackupComponents::P ostRestore 는 오류를 반환할 수 있습니다.