다음을 통해 공유


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

AddComponentDependency 메서드를 사용하면 작성기가 관리하는 구성 요소에 명시적 기록기-구성 요소 종속성이 있음을 나타낼 수 있습니다. 즉, 다른 작성기에서 다른 구성 요소를 백업하고 복원해야 합니다.

구문

HRESULT AddComponentDependency(
  [in] LPCWSTR wszForLogicalPath,
  [in] LPCWSTR wszForComponentName,
  [in] VSS_ID  onWriterId,
  [in] LPCWSTR wszOnLogicalPath,
  [in] LPCWSTR wszOnComponentName
);

매개 변수

[in] wszForLogicalPath

종속성이 필요한 구성 요소의 논리 경로(현재 작성기에서 관리됨)를 포함하는 null로 끝나는 와이드 문자열입니다.

[in] wszForComponentName

종속성이 필요한 구성 요소(현재 작성기에서 관리됨)를 포함하는 null로 종료된 와이드 문자열입니다.

[in] onWriterId

현재 구성 요소가 의존하는 구성 요소를 관리하는 작성기의 클래스 ID 또는 VSS_ID (GUID)입니다.

[in] wszOnLogicalPath

현재 구성 요소가 의존하는 구성 요소의 논리적 경로( onWriterId에서 식별한 기록기에 의해 관리됨)입니다.

[in] wszOnComponentName

현재 구성 요소가 의존하는 구성 요소의 이름( onWriterId에서 식별한 기록기에서 관리됨)입니다.

반환 값

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

의미
S_OK
작업이 완료되었습니다.
E_INVALIDARG
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_INVALID_XML_DOCUMENT
XML 문서가 잘못되었습니다. 자세한 내용은 이벤트 로그를 확인합니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_OBJECT_NOT_FOUND
wszForLogicalPathwszForComponentName으로 지정된 구성 요소가 없습니다.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.

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

설명

현재 작성기에서 관리하는 구성 요소에 대한 종속성은 허용되지 않습니다.

종속성을 사용하려면 종속성의 대상과 대상에 종속된 구성 요소를 모두 복원하고 함께 백업해야 합니다. 요청자가 구현하도록 선택할 수 있지만 구성 요소 간의 우선 순위를 나타내지는 않습니다.

논리 이름과 구성 요소 이름의 조합은 작성기 클래스의 모든 인스턴스에서 고유해야 하므로 여러 작성기에 동일한 클래스 ID가 있을 수 있다는 사실은 문제가 되지 않습니다.

이 메서드를 사용하여 원격 종속성을 선언할 수 있습니다. 기록기는 원격 구성 요소가 있는 컴퓨터의 이름인 "\\RemoteComputerName"을 wszOnLogicalPath 매개 변수의 논리 경로 앞에 추가하여 원격 종속성을 선언할 수 있습니다. RemoteComputerName 값은 GETComputerNameEx 함수에서 반환된 IP 주소 또는 컴퓨터 이름일 수 있습니다.

원격 구성 요소가 클러스터에 있는 경우 작성기는 클러스터의 가상 이름을 보고해야 하며 볼륨 섀도 복사본을 만들기 전에 가상 이름을 클러스터 노드의 실제 이름에 매핑하는 것은 요청자의 책임입니다.

종속성이 로컬인지 원격인지 확인하려면 요청자는 pbstrComponentName 매개 변수에 반환된 구성 요소 이름을 검사해야 합니다. 구성 요소 이름이 "\"로 시작하는 경우 요청자는 원격 종속성을 지정하고 "\" 다음의 첫 번째 구성 요소가 작성기에서 지정한 RemoteComputerName 이라고 가정해야 합니다. 구성 요소 이름이 "\"로 시작되지 않으면 요청자는 로컬 종속성을 지정한다고 가정해야 합니다.

Windows Server 2003: 이 메서드는 Windows Server 2003 SP1(서비스 팩 1)을 사용하여 원격 종속성을 선언하는 데 사용할 수 없습니다.

요구 사항

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