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

AddComponent 메서드는 백업 구성 요소 문서의 모든 필수 구성 요소(백업 상위 항목에 대해 선택할 수 없는 백업 구성 요소에 대해 선택할 수 없음) 및 요청자가 필요하다고 간주할 때 이러한 선택적(백업에 대해 선택 가능) 구성 요소의 백업 집합에 명시적으로 추가하는 데 사용됩니다. 구성 요소 집합의 멤버(백업 상위 항목에 대해 선택 가능한 구성 요소)는 백업 집합에 암시적으로 포함되지만 백업 구성 요소 문서에 명시적으로 추가되지는 않습니다.

구문

HRESULT AddComponent(
  [in] VSS_ID             instanceId,
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE ct,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName
);

매개 변수

[in] instanceId

작성기의 특정 instance 식별합니다.

[in] writerId

기록기 클래스 식별자입니다.

[in] ct

구성 요소의 유형을 식별합니다. 허용되는 입력 값은 VSS_COMPONENT_TYPE 설명서를 참조하세요.

[in] wszLogicalPath

백업 구성 요소에 대해 선택할 수 있는 의 논리적 경로를 포함하는 Null로 끝나는 와이드 문자열입니다. 자세한 내용은 구성 요소의 논리적 경로를 참조하세요.

구성 요소를 추가할 때 논리 경로는 필요하지 않습니다. 따라서 이 매개 변수의 값은 NULL일 수 있습니다.

NULL이 아닌 논리 경로에 표시할 수 있는 문자에는 제한이 없습니다.

[in] wszComponentName

백업 구성 요소에 대해 선택 가능한 의 이름을 포함하는 Null로 끝나는 와이드 문자열입니다.

이 매개 변수의 값은 NULL일 수 없습니다.

NULL이 아닌 논리 경로에 표시할 수 있는 문자에는 제한이 없습니다.

반환 값

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

의미
S_OK
구성 요소를 추가했습니다.
E_INVALIDARG
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_BAD_STATE
백업 구성 요소 개체가 초기화되지 않았거나, 복원 작업 중에 이 메서드가 호출되었거나, 이 메서드가 올바른 시퀀스 내에서 호출되지 않았습니다.
VSS_E_INVALID_XML_DOCUMENT
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_OBJECT_ALREADY_EXISTS
개체가 중복된 경우 동일한 논리 경로와 구성 요소 이름을 가진 구성 요소가 이미 있습니다.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.

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

설명

AddComponent 메서드는 백업 작업이 구성 요소 모드에서 발생하는 경우에만 의미가 있습니다.

이러한 종류의 구성 요소만 AddComponent를 사용하여 백업 구성 요소 문서에 추가해야 합니다.

  • 백업을 위해 선택할 수 있는 구성 요소( 백업 선택 가능성 참조).
  • 선택할 수 있는 백업 상위 항목이 없는 백업할 수 없는 구성 요소입니다.

논리 경로의 계층 구조에서 백업 상위 항목에 대해 선택할 수 있는 백업 구성 요소에 대해 선택할 수 없는 구성 요소는 백업 상위 항목에 대해 선택 가능으로 정의된 구성 요소 집합의 일부입니다. 이러한 구성 요소는 상위 항목이 추가될 때 백업 구성 요소 문서에 암시적으로 추가되며 AddComponent를 사용하여 요청자의 백업 구성 요소 문서에 명시적으로 추가해서는 안 됩니다. 이렇게 하면 결과가 정의되지 않습니다( 선택 가능성 및 논리 경로 작업 참조).

백업 상위 항목에 대해 선택할 수 있는 백업 구성 요소에 대해 선택할 수 있는 구성 요소 집합의 하위 구성 요소도 있습니다. 상위 항목을 선택한 경우(이 경우 AddComponent를 사용하여 백업 구성 요소 문서에 추가되지 않음) 암시적으로 선택하거나 AddComponent를 사용하여 명시적으로 선택할 수 있습니다.

지정된 작성기 클래스의 지정된 instance 각 구성 요소에 대한 논리 경로와 이름의 조합은 고유해야 합니다. wszLogicalPathwszComponentName의 동일한 값으로 AddComponent를 두 번 호출하려고 시도하면 VSS_E_OBJECT_ALREADY_EXISTS 오류가 발생합니다.

instanceId와 writerID 간의 구분은 동일한 작성기에 대해 여러 복사본을 실행할 수 있기 때문에 필요합니다.

기록기의 클래스 식별자 및 instance IVssExamineWriterMetadata::GetIdentity를 호출하여 찾을 수 있습니다.

AddComponent를 호출하기 전에 요청자는 IVssBackupComponents::InitializeForBackupIVssBackupComponents::GatherWriterMetadata를 호출하여 백업을 위해 초기화되어야 합니다. 백업 초기화 개요를 참조하세요.

요청자는 섀도 복사본을 만들기 위해 IVssBackupComponents::D oSnapshotSet을 호출하기 전에 AddComponent를 호출하여 필요한 구성 요소를 섀도 복사본에 추가해야 합니다. 백업 검색 단계 개요사전 백업 작업 개요를 참조하세요.

요구 사항

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

추가 정보

CVssWriter::Initialize

IVssBackupComponents

IVssBackupComponents::P repareForBackup

IVssExamineWriterMetadata::GetIdentity

VSS_COMPONENT_TYPE