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이 아닌 논리 경로에 표시할 수 있는 문자에는 제한이 없습니다.
반환 값
다음은 이 메서드에 대한 유효한 반환 코드입니다.
값 | 의미 |
---|---|
|
구성 요소를 추가했습니다. |
|
매개 변수 값 중 하나가 잘못되었습니다. |
|
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다. |
|
백업 구성 요소 개체가 초기화되지 않았거나, 복원 작업 중에 이 메서드가 호출되었거나, 이 메서드가 올바른 시퀀스 내에서 호출되지 않았습니다. |
|
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요. |
|
개체가 중복된 경우 동일한 논리 경로와 구성 요소 이름을 가진 구성 요소가 이미 있습니다. |
|
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 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 각 구성 요소에 대한 논리 경로와 이름의 조합은 고유해야 합니다. wszLogicalPath 및 wszComponentName의 동일한 값으로 AddComponent를 두 번 호출하려고 시도하면 VSS_E_OBJECT_ALREADY_EXISTS 오류가 발생합니다.
instanceId와 writerID 간의 구분은 동일한 작성기에 대해 여러 복사본을 실행할 수 있기 때문에 필요합니다.
기록기의 클래스 식별자 및 instance IVssExamineWriterMetadata::GetIdentity를 호출하여 찾을 수 있습니다.
AddComponent를 호출하기 전에 요청자는 IVssBackupComponents::InitializeForBackup 및 IVssBackupComponents::GatherWriterMetadata를 호출하여 백업을 위해 초기화되어야 합니다. 백업 초기화 개요를 참조하세요.
요청자는 섀도 복사본을 만들기 위해 IVssBackupComponents::D oSnapshotSet을 호출하기 전에 AddComponent를 호출하여 필요한 구성 요소를 섀도 복사본에 추가해야 합니다. 백업 검색 단계 개요 및 사전 백업 작업 개요를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vsbackup.h(VsBackup.h, Vss.h, VsWriter.h 포함) |
라이브러리 | VssApi.lib |
추가 정보
IVssBackupComponents::P repareForBackup