Directed Targets 작업

지시된 대상 메커니즘을 사용하면 기록기가 복원 시 파일을 다시 매핑할 수 있습니다. 이렇게 하면 작성기에서 다음을 수행할 수 있습니다.

  • 새 대상 위치를 지정합니다(요청자의 IVssBackupComponents::AddNewTarget과 유사).
  • 특히 부분 파일 메커니즘을 사용하여 파일이 백업된 경우 파일의 필요한 부분만 디스크에 복원하여 디스크 공간을 회수합니다.
  • 현재 요구 사항에 맞게 파일 형식을 변경합니다.

지시된 대상 작업과 함께 사용할 모든 파일에는 복원 대상이 VSS_RT_DIRECTED 있어야 합니다.

요청자가 지시된 대상 작업을 지원할 수 있도록 설정되면 기록기는 파일을 관리하는 구성 요소(또는 파일이 포함된 구성 요소 집합을 정의하는 구성 요소)에 해당하는 IVssComponent의 instance IVssComponent::AddDirectedTarget을 사용하여 복원 시 파일을 다시 매핑하는 방법을 정의합니다.

IVssComponent::AddDirectedTarget을 사용할 때 작성기는 파일을 백업하는 데 사용되는 파일 이름 및 경로, 복원 대상의 파일 이름 및 경로(이러한 값은 원래 파일 이름 및 경로와 동일할 수 있음) 및 원본 및 대상 파일 범위를 지정합니다.

부분 파일 작업과 마찬가지로 범위 목록은 백업할 파일의 오프셋 쌍(바이트)과 복원할 섹션의 길이(바이트), 콜론으로 구분되는 오프셋 및 길이, 쉼표로 구분된 각 쌍( Offset1**:Length1,** Offset2**:**Length2)입니다. 각 값은 16진수 또는 10진수 형식의 64비트 정수입니다.

기록기가 지시된 대상 메커니즘을 사용하여 요청자가 파일을 새 위치로 복원하도록 해야 하는 경우 원래 파일 이름 및 경로와 새 파일 이름 및 경로를 사용하여 IVssComponent::AddDirectedTarget 을 호출하고 오프셋이 0이고 전체 파일 크기의 길이와 같은 원본 대상 범위를 지정해야 합니다.

instance 경우 작성기에 C:\WriterData\OldIndex.dat로 복원된 200K 파일 C:\WriterData\Index.dat가 있어야 하는 경우 원본 및 대상 범위 문자열은 "0:204880"입니다.

부분적으로 백업된 큰 파일을 다시 매핑하기 위해 요청자는 파일을 백업하는 데 사용되는 원본 범위와 파일 크기를 줄이는 대상 범위를 사용합니다. 원본 범위 정보는 파일을 관리하는 구성 요소(또는 파일이 포함된 구성 요소 집합을 정의하는 구성 요소)에 해당하는 IVssComponent의 instance IVssComponent::GetPartialFile을 사용하여 가져올 수 있습니다.

부분적으로 백업된 파일이 처음에 헤더가 있는 큰 파일인 경우 바이트 64-512에는 레코드 수 및 기타 자주 업데이트되는 정보가 포함되며, 파일의 마지막 65536바이트(0x1239E7577A 바이트 0x1239E8577A)에서 가장 최근 데이터를 찾을 수 있는 경우 작성기는 원본 범위 목록을 문자열 "64:448,0x1239E8577A:65536"으로 지정할 수 있습니다.

기록기가 헤더 및 최신 데이터만 포함하도록 복원된 파일을 다시 매핑하려는 경우 범위 목록은 문자열 "0:488,488:65536"일 수 있습니다.

실제로 복원 작업을 수행하기 전에 요청자는 검사 지시된 대상 지원이 필요한 파일이 있는지 확인해야 합니다.

이를 위해 요청자는 먼저 IVssBackupComponents::GetWriterComponentsCount 및 IVssBackupComponents::GetWriterComponents 를 사용하여 백업 구성 요소 문서에 저장된 구성 요소를 사용하여 기록기를 반복 합니다.

IVssBackupComponents::GetWriterComponents 인터페이스는 IVssWriterComponentsExt::GetComponentsExt::GetComponentsExt::GetComponentCount 메서드를 제공하여 요청자가 IVssComponent 인스턴스를 가져올 수 있도록 하는 IVssWriterComponentsExt 인터페이스의 인스턴스를 반환하는 데 사용됩니다.

이를 통해 요청자는 파일을 관리하는 구성 요소(또는 파일이 포함된 구성 요소 집합을 정의하는 구성 요소)에 해당하는 IVssComponent의 instance IVssComponent::GetDirectedTarget 및 IVssComponent::GetDirectedTarget을 사용하여 직접 대상 후보를 가져올 수 있습니다.