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

AddFilesToFileGroup 메서드는 지정된 파일 그룹 구성 요소에 파일 집합(지정된 파일 또는 파일)을 추가합니다.

구문

HRESULT AddFilesToFileGroup(
  [in] LPCWSTR wszLogicalPath,
  [in] LPCWSTR wszGroupName,
  [in] LPCWSTR wszPath,
  [in] LPCWSTR wszFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszAlternateLocation,
  [in] DWORD   dwBackupTypeMask
);

매개 변수

[in] wszLogicalPath

파일을 추가할 구성 요소의 논리 경로( NULL일 수 있음)를 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다. 자세한 내용은 구성 요소의 논리적 경로를 참조하세요.

[in] wszGroupName

파일 그룹 구성 요소의 이름을 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다. 이 구성 요소의 형식은 VSS_CT_FILEGROUP 합니다. 그렇지 않으면 메서드가 오류를 반환합니다.

[in] wszPath

추가할 파일의 기본 루트 디렉터리를 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다.

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

UNC 경로가 지원됩니다.

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

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

[in] wszFilespec

포함할 파일의 파일 사양을 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다.

파일 사양에는 디렉터리 사양(예: 백 슬래시 없음)을 포함할 수 없지만 ? 및 * 와일드카드 문자입니다.

[in] bRecursive

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

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

[in] wszAlternateLocation

이 구성 요소로 백업할 파일이 실제로 포함된 대체 경로를 포함하는 null로 끝나는 와이드 문자열에 대한 포인터입니다.

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

UNC 경로가 지원됩니다.

대체 경로를 지정하는 것은 선택 사항입니다. 대체 경로가 필요하지 않으면 wszAlternatePathNULL이어야 합니다.

대체 경로는 대체 위치 매핑과 혼동해서는 안 됩니다.

[in] dwBackupTypeMask

기록기가 특정 유형의 백업 작업에 참여하기 위해 파일을 평가해야 하는지 여부를 나타내는 VSS_FILE_SPEC_BACKUP_TYPE 열거형 값의 비트 마스크입니다.

이 인수의 기본값은 (VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED).

반환 값

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

의미
S_OK
0x00000000L
작업이 완료되었습니다.
E_INVALIDARG
0x80070057L
매개 변수 값 중 하나가 잘못되었거나 호출자가 파일 그룹 이외의 구성 요소에 파일 그룹 파일을 추가하려고 했습니다.
E_OUTOFMEMORY
0x8007000EL
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_NOT_SUPPORTED
0x8004232FL
빠른 작성기의 경우 wszAlternatePath 값은 NULL이어야 하며 dwBackupTypeMask 비트 마스크에는 VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED, VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED 또는 VSS_FSBT_LOG_BACKUP_REQUIRED 포함될 수 없습니다.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
지정된 구성 요소가 없습니다.
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 때까지 지원되지 않습니다. 작성기는 로컬 리소스만 지원합니다. 절대 경로가 유효한 로컬 볼륨 사양으로 시작되고 매핑된 네트워크 드라이브가 될 수 없는 파일 집합입니다. 따라서 AddFilesToFileGroup에 대한 경로 입력(wszPath 및 wszAlternatePath)은(환경 변수의 확인 후) 이 형식이어야 합니다.

작성기는 이 메서드를 여러 번 호출하여 파일 그룹 구성 요소에 여러 파일 집합을 추가할 수 있습니다. 그러나 특정 파일을 한 번만 지정할 수 있으므로 파일 사양이 겹치지 않도록 해야 합니다.

파일이 백업되고 복원되는 위치는 wszPath 에서 정의한 루트 디렉터리의 값과 wszAlternatePath에서 정의한 대체 경로에 따라 달라집니다.

AddFilesToFileGroup에서 제공하는 경로 정보를 사용할 때 다음 사항에 유의하세요.

  • 복원 작업은 가능한 경우 wszPath에서 정의한 기본 루트 디렉터리에서 AddFilesToFileGroup이 구성 요소에 추가한 파일을 복원해야 합니다.
  • 대체 경로를 지정하지 않으면( wszAlternatePathNULL인 경우) 구성 요소에 추가된 파일은 기본 루트 디렉터리에서 백업되고 wszPath로 표시된 기본 루트 디렉터리로 복원됩니다.
  • 대체 경로가 지정된 경우( wszAlternatePathNULL이 아닌 경우) 구성 요소에 추가된 파일은 wszAlternatePath에 지정된 대체 경로에서 백업됩니다. 그러나 요청자는 여전히 wszPath를 기본 복원 위치로 사용합니다.
  • 대체 경로가 정의되고(wszAlternatePathNULL이 아닌 경우) 대체 경로와 기본 루트 디렉터리(wszPath)에 파일 사양(wszFilespec)과 일치하는 파일이 있는 경우 백업 작업은 기본 루트 디렉터리에 있는 파일이 아니라 대체 경로 아래에 있는 파일을 백업해야 합니다.
  • IVssCreateWriterMetadata::AddAlternateLocationMapping에서 대체 위치 매핑을 설정하고 복원 메서드 또는 복원 대상에 필요한 경우가 아니면 wszPath에서 나타내는 디렉터리로 파일을 복원해야 합니다.
VSS에서 파일 위치를 백업 및 복원하는 방법에 대한 자세한 내용은 기본이 아닌 백업 및 복원 위치를 참조하세요.

요구 사항

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

추가 정보

IVssCreateWriterMetadata

IVssCreateWriterMetadata::AddAlternateLocationMapping