IVssBackupComponents::AddNewTarget 메서드(vsbackup.h)
AddNewTarget 메서드는 복원 작업 중에 요청자가 백업 애플리케이션이 파일을 새 위치로 복원할 계획임을 나타내는 데 사용됩니다.
구문
HRESULT AddNewTarget(
[in] VSS_ID writerId,
[in] VSS_COMPONENT_TYPE ct,
[in] LPCWSTR wszLogicalPath,
[in] LPCWSTR wszComponentName,
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFileName,
[in] bool bRecursive,
[in] LPCWSTR wszAlternatePath
);
매개 변수
[in] writerId
새 대상을 받을 파일을 포함하는 기록기 클래스의 GUID(Globally Unique Identifier)입니다.
[in] ct
구성 요소의 유형을 식별합니다. 가능한 반환 값은 VSS_COMPONENT_TYPE 설명서를 참조하세요.
[in] wszLogicalPath
새 복원 대상을 받을 파일을 포함하는 구성 요소의 논리적 경로를 포함하는 Null로 끝나는 와이드 문자열입니다. 자세한 내용은 구성 요소의 논리적 경로를 참조하세요.
여기서 사용되는 논리 경로를 포함하는 문자열의 값은 IVssBackupComponents::AddComponent를 사용하여 구성 요소가 백업 집합에 추가되었을 때 사용된 것과 동일해야 합니다.
논리 경로는 NULL일 수 있습니다.
NULL이 아닌 논리 경로에 표시할 수 있는 문자에는 제한이 없습니다.
[in] wszComponentName
새 복원 대상을 받을 파일이 포함된 구성 요소의 이름을 포함하는 Null로 끝나는 와이드 문자열입니다.
문자열은 NULL 이 아니어야 하며 IVssBackupComponents::AddComponent를 사용하여 구성 요소가 백업 집합에 추가되었을 때 사용된 것과 동일한 구성 요소 이름을 포함해야 합니다.
NULL이 아닌 논리 경로에 표시할 수 있는 문자에는 제한이 없습니다.
[in] wszPath
새 복원 대상을 받을 파일이 포함된 디렉터리 또는 디렉터리 계층의 이름을 포함하는 Null로 끝나는 와이드 문자열입니다.
디렉터리가 VSS 컴퓨터의 로컬 디렉터리이거나 원격 파일 서버의 파일 공유 디렉터리일 수 있습니다.
경로에는 환경 변수(예: %SystemRoot%)가 포함될 수 있지만 와일드카드 문자를 포함할 수는 없습니다. UNC 경로가 지원됩니다.
경로가 백슬래시("")로 끝날 필요는 없습니다. 검사 이 정보를 검색하는 것은 애플리케이션에 달려 있습니다.
[in] wszFileName
새 복원 대상을 받을 파일의 파일 사양을 포함하는 Null로 끝나는 와이드 문자열입니다.
파일 사양은 디렉터리 사양을 포함할 수 없지만(예: 백슬라이시 없음) 을 포함할 수 있습니다. 및 * 와일드카드 문자입니다.
[in] bRecursive
wszPath에서 정의하고 wszFileName에서 제공하는 파일 사양과 일치하는 디렉터리의 파일만 새 복원 대상을 받을 것인지, 아니면 wszPath에서 정의하고 wszFileName에서 제공하는 파일 사양과 일치하는 계층의 모든 파일이 새 복원 대상을 받는지 여부를 나타내는 부울입니다.
탑재된 폴더를 트래버스하는 방법에 대한 자세한 내용은 탑재된 폴더 작업 및 지점 재분석을 참조하세요.
[in] wszAlternatePath
새 복원 대상 디렉터리의 정규화된 경로를 포함하는 Null로 끝나는 와이드 문자열입니다.
디렉터리가 VSS 컴퓨터의 로컬 디렉터리이거나 원격 파일 서버의 파일 공유 디렉터리일 수 있습니다.
UNC 경로가 지원됩니다.
반환 값
다음은 이 메서드에 대한 유효한 반환 코드입니다.
값 | 의미 |
---|---|
|
새 복원 대상을 추가했습니다. |
|
매개 변수 값 중 하나가 잘못되었습니다. |
|
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다. |
|
백업 구성 요소 개체가 초기화되지 않았거나 복원 작업 중에 이 메서드가 호출되었습니다. |
|
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요. |
|
구성 요소가 없거나 경로 및 파일 사양이 구성 요소의 구성 요소 및 파일 사양과 일치하지 않습니다. |
|
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 Windows Server 2008 R2 및 Windows 7까지 지원되지 않습니다. E_UNEXPECTED 대신 사용됩니다. |
설명
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP 및 Windows Server 2003: 원격 파일 공유는 Windows 8 Windows Server 2012 때까지 지원되지 않습니다.
AddNewTarget(wszComponentName)에 대한 인수로 지정된 구성 요소 이름은 백업 구성 요소 문서에 이미 추가된 구성 요소와 일치해야 합니다.
따라서 wszComponentName 은 백업 구성 요소 문서에 명시적으로 포함된 모든 구성 요소의 이름이 될 수 있습니다.
하위 구성 요소가 포함된 구성 요소 집합을 정의하는 구성 요소의 이름을 사용하여 하위 구성 요소에서 파일에 대한 새 대상을 추가해야 합니다.
복원 대상이 변경되도록 파일 또는 파일을 지정하는 경우 요청자는 AddNewTarget에 제공된 경로, 파일 사양 및 재귀 플래그(각각 wszPath, wszFileSpec 및 bRecursive)의 조합이 IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles를 사용하여 구성 요소에 추가된 파일 집합 중 하나와 일치해야 합니다.IVssCreateWriterMetadata::AddDatabaseLogFiles.
요청자가 AddNewTarget을 호출하는 경우 IVssBackupComponents::P reRestore를 호출하기 전에 호출해야 합니다. 자세한 내용은 복원 준비 개요를 참조하세요.
IVssWMComponent::GetFile, IVssWMComponent::GetDatabaseFile 또는 IVssWMComponent::GetDatabaseLogFile에서 반환된 IVssWMFiledesc 개체를 사용하여 기록기 메타데이터 문서에서 경로 및 파일 설명자 정보를 가져올 수 있습니다. IVssWMComponent 개체는 IVssExamineWriterMetadata::GetComponent 메서드를 통해 기록기 메타데이터 문서에서 가져옵니다.
기록기는 IVssComponent::GetNewTargetCount 및 IVssComponent::GetNewTarget 메서드를 사용하여 파일이 새 위치로 복원되었는지 확인할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vsbackup.h(VsBackup.h, Vss.h, VsWriter.h 포함) |
라이브러리 | VssApi.lib |
추가 정보
IVssBackupComponents::AddComponent
IVssComponent::GetNewTargetCount
IVssCreateWriterMetadata::AddDatabaseFiles
IVssCreateWriterMetadata::AddDatabaseLogFiles
IVssCreateWriterMetadata::AddFilesToFileGroup
IVssExamineWriterMetadata::GetComponent
IVssWMComponent::GetDatabaseFile