다음을 통해 공유


IVssBackupComponents::AddToSnapshotSet 메서드(vsbackup.h)

AddToSnapshotSet 메서드는 원래 볼륨 또는 원래 원격 파일 공유를 섀도 복사본 집합에 추가합니다.

구문

HRESULT AddToSnapshotSet(
  [in]  VSS_PWSZ pwszVolumeName,
  [in]  VSS_ID   ProviderId,
  [out] VSS_ID   *pidSnapshot
);

매개 변수

[in] pwszVolumeName

섀도 복사할 원격 파일 공유의 볼륨 이름 또는 UNC 경로를 포함하는 Null로 끝나는 와이드 문자열입니다. 이름 또는 UNC 경로는 다음 형식 중 하나여야 하며 후행 백슬래시(\)를 포함해야 합니다.

  • 탑재된 폴더의 경로(예: Y:\MountX\
  • 드라이브 문자(예: D:\
  • \\?\Volume{GUID}\ 형식의 볼륨GUID 경로(여기서 GUID 는 볼륨을 식별)
  • 원격 파일 공유를 지정하는 UNC 경로(예: \\Clusterx\Share1\

[in] ProviderId

사용할 공급자입니다. GUID_NULL 사용할 수 있습니다. 이 경우 기본 공급자가 사용됩니다.

[out] pidSnapshot

추가된 섀도 복사본의 식별자를 반환했습니다.

반환 값

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

의미
S_OK
0x00000000L
볼륨 또는 원격 파일 공유를 섀도 복사본 집합에 추가했습니다.
E_ACCESSDENIED
0x80070005L
호출자에게 충분한 백업 권한이 없거나 관리자가 아닙니다.
E_INVALIDARG
0x80070057L
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
0x8007000EL
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_BAD_STATE
0x80042301L
백업 구성 요소 개체가 초기화되지 않았거나, 복원 작업 중에 이 메서드가 호출되었거나, 이 메서드가 올바른 시퀀스 내에서 호출되지 않았습니다.
VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED
0x80042312L
최대 볼륨 또는 원격 파일 공유 수가 섀도 복사본 집합에 추가되었습니다. 지정된 볼륨 또는 원격 파일 공유가 섀도 복사본 집합에 추가되지 않았습니다.
VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED
0x80042317L
볼륨 또는 원격 파일 공유가 최대 섀도 복사본 집합 수에 추가되었습니다. 지정된 볼륨 또는 원격 파일 공유가 섀도 복사본 집합에 추가되지 않았습니다.
VSS_E_NESTED_VOLUME_LIMIT
0x8004232CL
지정된 볼륨이 너무 깊게 중첩되어 VSS 작업에 참여할 수 없습니다. 이 오류의 가능한 원인은 다음과 같습니다.
  • 다른 VHD에 포함된 VHD에 있는 볼륨의 섀도 복사본을 만들려고 합니다.
  • VHD를 포함하는 볼륨이 동일한 섀도 복사본 집합에 있는 경우 VHD 볼륨의 섀도 복사본을 만들려고 합니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 반환 코드는 지원되지 않습니다.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
pwszVolumeName 은 기존 볼륨 또는 원격 파일 공유에 해당하지 않습니다.
VSS_E_PROVIDER_NOT_REGISTERED
0x80042304L
ProviderId 는 등록된 공급자에 해당하지 않습니다.
VSS_E_PROVIDER_VETO
0x80042306L
예상 공급자 오류입니다. 공급자가 이벤트 로그에 오류를 기록했습니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_SNAPSHOT_SET_IN_PROGRESS
0x80042316L
또 다른 섀도 복사본 만들기가 이미 진행 중입니다. 여러 노드에서 동시에 스냅샷 집합에 CSV 볼륨을 추가하거나 여러 SMB 클라이언트 노드에서 동시에 스냅샷 집합에 스케일 아웃 공유를 추가할 때 발생합니다.
VSS_E_VOLUME_NOT_SUPPORTED
0x8004230CL
ProviderId 매개 변수의 값은 GUID_NULL VSS 공급자가 지정한 볼륨 또는 원격 파일 공유를 지원한다는 것을 나타내지 않습니다.
VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER
0x8004230EL
볼륨 또는 원격 파일 공유는 지정된 공급자가 지원하지 않습니다.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 Windows Server 2008 R2 및 Windows 7까지 지원되지 않습니다. E_UNEXPECTED 대신 사용됩니다.

VSS_E_UNEXPECTED_PROVIDER_ERROR
0x8004230FL
공급자가 예기치 않은 오류 코드를 반환했습니다. 이 오류 코드는 ppAsync 매개 변수에 반환된 IVssAsync 인터페이스의 QueryStatus 메서드를 통해서만 반환됩니다.

설명

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP 및 Windows Server 2003: 원격 파일 공유는 Windows 8 Windows Server 2012 때까지 지원되지 않습니다.

pwszVolumeName이 UNC 공유 경로인 경우 서버 이름 부분은 호스트 이름 또는 정규화된 도메인 이름 형식이어야 합니다. IP 주소가 있는 UNC 공유 이름은 AddToSnapshotSet에 전달되기 전에 IVssBackupComponentsEx4::GetRootAndLogicalPrefixPaths 메서드를 호출하여 정규화되어야 합니다.

단일 섀도 복사본 세트에서 섀도 복사되는 최대 볼륨 수는 64개입니다.

ProviderId가 GUID_NULL 경우 다음 알고리즘에 따라 기본 공급자가 선택됩니다.

  1. 하드웨어 공급자가 지정된 볼륨 또는 원격 파일 공유를 지원하는 경우 해당 공급자가 선택됩니다.
  2. 사용 가능한 하드웨어 공급자가 없는 경우 소프트웨어 공급자가 지정된 볼륨을 지원하는 경우 선택됩니다.
  3. 사용 가능한 하드웨어 공급자 또는 소프트웨어 공급자가 없으면 시스템 공급자가 선택됩니다. (미리 설치된 시스템 공급자가 하나만 있으므로 모든 이동 불가능한 로컬 볼륨을 지원해야 합니다.)
이 메서드는 다른 VHD 내에 중첩된 VHD(가상 하드 디스크)에 대해 호출할 수 없습니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: VHD는 지원되지 않습니다.

pidSnapshot 매개 변수에 반환되는 섀도 복사본 식별자는 백업 구성 요소 문서에 저장됩니다. 그러나 이 정보를 쿼리하는 방법은 없으며, 호출자는 복원 중에 사용할 수 있도록 이를 저장해야 할 수 있습니다.

요구 사항

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

추가 정보

IVssBackupComponents

IVssBackupComponentsEx4::GetRootAndLogicalPrefixPaths

_VSS_VOLUME_SNAPSHOT_ATTRIBUTES