다음을 통해 공유


IVssCreateWriterMetadata::AddAlternateLocationMapping 메서드(vswriter.h)

AddAlternateLocationMapping 메서드는 파일 집합에 대한 대체 위치 매핑을 만듭니다.

구문

HRESULT AddAlternateLocationMapping(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszDestination
);

매개 변수

[in] wszSourcePath

매핑할 파일이 포함된 디렉터리 또는 디렉터리 계층의 이름을 포함하는 Null로 끝나는 와이드 문자열입니다.

디렉터리가 VSS 컴퓨터의 로컬 디렉터리이거나 원격 파일 서버의 파일 공유 디렉터리일 수 있습니다.

경로에는 환경 변수(예: %SystemRoot%)가 포함될 수 있지만 와일드카드 문자를 포함할 수는 없습니다.

경로가 백슬래시("")로 끝날 필요는 없습니다. 검사 이 정보를 검색하는 것은 애플리케이션에 달려 있습니다.

[in] wszSourceFilespec

매핑할 파일의 파일 사양을 포함하는 Null로 끝나는 와이드 문자열입니다.

파일 사양은 디렉터리 사양을 포함할 수 없지만(예: 백슬라이시 없음) 을 포함할 수 있습니다. 및 * 와일드카드 문자입니다.

[in] bRecursive

wszPath 매개 변수로 지정된 경로가 단일 디렉터리만 식별하는지 또는 재귀적으로 트래버스할 디렉터리의 계층 구조를 나타내는지 여부를 지정하는 부울 값입니다. 경로가 재귀적으로 트래버스될 디렉터리의 계층 구조로 처리되는 경우 이 매개 변수를 true 로 설정하거나, 그렇지 않으면 false 로 설정해야 합니다.

탑재된 폴더를 트래버스하는 방법에 대한 자세한 내용은 탑재된 폴더 작업 및 지점 재분석을 참조하세요.

[in] wszDestination

파일이 재배치될 디렉터리에 대한 정규화된 경로를 포함하는 Null로 끝나는 와이드 문자열입니다.

디렉터리가 VSS 컴퓨터의 로컬 디렉터리이거나 원격 파일 서버의 파일 공유 디렉터리일 수 있습니다.

UNC 경로가 지원됩니다.

반환 값

다음은 이 메서드에 대한 유효한 반환 코드입니다.

의미
S_OK
0x00000000L
작업이 완료되었습니다.
E_INVALIDARG
0x80070057L
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
0x8007000EL
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
IVssCreateWriterMetadata::SetRestoreMethod 메서드는 이 메서드를 호출하기 전에 호출되지 않았습니다.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 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 때까지 지원되지 않습니다. 기록기는 절대 경로가 유효한 로컬 볼륨 사양으로 시작되고 매핑된 네트워크 드라이브가 될 수 없는 파일 집합인 로컬 리소스만 지원합니다. 따라서 AddAlternateLocationMapping에 대한 경로 입력(wszPath 및 wszDestination)은 이 형식이어야 합니다.

이 메서드를 여러 번 호출하여 여러 파일에 대한 매핑을 추가할 수 있습니다.

경로, 파일 사양 및 재귀 플래그의 조합(wszPath, wszFileSpec, 매핑할 AddAlternateLocationMapping에 각각 제공된 및 bRecursive)는 IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles 또는 IVssCreateWriterMetadata::AddDatabaseLogFiles를 사용하여 작성기의 구성 요소 중 하나에 추가된 파일 집합 중 하나와 일치해야 합니다.

AddAlternateLocationMapping 메서드는 IVssCreateWriterMetadata::SetRestoreMethod가 호출된 후에만 호출되어야 합니다.

다음 중 하나가 true인 경우 파일은 항상 대체 위치 매핑으로 복원되어야 합니다.

  • 복원 방법(백업 시 설정)이 VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • 복원 대상이 복원 시 VSS_RT_ALTERNATE 설정되었습니다.
두 경우 모두 유효한 대체 위치 매핑이 정의되지 않은 경우 이는 기록기 오류를 구성합니다.

다음 중 하나가 true인 경우 파일을 대체 위치 매핑으로 복원할 수 있습니다.

  • 복원 방법은 VSS_RME_RESTORE_IF_NOT_THERE 파일 버전이 디스크에 이미 있습니다.
  • 복원 방법은 VSS_RME_RESTORE_IF_CAN_REPLACE 파일 버전이 디스크에 있으며 바꿀 수 없습니다.
다시 말하지만 유효한 대체 위치 매핑이 정의되지 않은 경우 기록기 오류가 발생합니다.

대체 위치 매핑은 복원 작업 중에만 사용되며 백업 작업 중에만 사용되는 대체 경로와 혼동해서는 안 됩니다.

VSS에서 파일 위치를 백업하고 복원하는 방법에 대한 자세한 내용은 기본이 아닌 백업 및 복원 위치를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 vswriter.h(Vss.h, VsWriter.h 포함)
라이브러리 VssApi.lib

추가 정보

IVssCreateWriterMetadata