다음을 통해 공유


CVssWriterEx::OnIdentifyEx 메서드(vswriter.h)

IVsCreateWriterMetadataEx 개체에 대한 포인터를 반환합니다.

OnIdentifyEx 는 가상 메서드입니다. CVssWriterEx 기본 클래스에 의해 구현되지만 파생 클래스로 재정의할 수 있습니다.

구문

bool OnIdentifyEx(
  [in] IVssCreateWriterMetadataEx *pMetadata
);

매개 변수

[in] pMetadata

IVsCreateWriterMetadataEx 개체에 대한 포인터입니다.

반환 값

기본 클래스에서 구현한 대로 OnIdentifyEx 는 항상 true를 반환 합니다.

이 메서드의 다른 구현은 심각한 오류의 경우를 제외하고 true 를 반환해야 합니다. 심각한 오류가 발생하면 메서드는 false를 반환해야 합니다.

심각하지 않은 오류를 포함하여 오류가 발생하는 모든 경우 메서드는 오류의 정확한 이유를 보고하기 위해 이벤트 로그에 자세한 항목을 작성해야 합니다.

설명

OnIdentifyEx 메서드는 PMetadata 매개 변수의 IVssCreateWriterMetadata 인터페이스 포인터 대신 IVssCreateWriterMetadataEx 인터페이스 포인터를 반환 한다는 점을 제외하고 OnIdentify 메서드와 동일합니다. 작성기는 OnIdentify 또는 OnIdentifyEx를 재정의할 수 있지만 둘 다 재정의할 수는 없습니다.

기록기는 이 메서드 또는 다른 CVssWriter(Ex)::OnXxx 콜백 메서드에서 예외를 throw해서는 안 됩니다.

작성기는 OnIdentify 또는 OnIdentifyEx 메서드에서 CVssWriter::SetWriterFailure 메서드를 호출해서는 안 됩니다.

이 메서드가 CVssWriterEx2::GetSessionId 메서드를 호출하는 경우 이 메서드를 호출한 동일한 스레드에서 호출해야 합니다. 자세한 내용은 기록기 이벤트 처리를 참조하세요.

다른 애플리케이션에서 생성되는 Identify 이벤트에 대한 응답으로 작성기는 OnIdentifyEx를 호출하여 IVsCreateWriterMetadataEx 인터페이스를 사용하여 관리하는 구성 요소에 대한 정보를 포함하는 기록기 메타데이터 문서를 만듭니다.

그런 다음 Identify 이벤트를 생성한 애플리케이션은 기록기 메타데이터 문서를 검색하고 IVssExamineWriterMetadata 인터페이스를 사용하여 기록기의 구성 요소 정보를 검사합니다.

식별 이벤트는 백업 또는 복원 시퀀스를 구성하는 이벤트 전에 필요합니다. 따라서 OnIdentifyEx는 일반적으로 백업 또는 복원 작업의 일부로 IVssBackupComponents::GatherWriterMetadata에 대한 요청자의 호출에 대한 응답으로 Identify 이벤트를 처리하기 위해 호출됩니다.

그러나 Identify 이벤트 자체는 백업 또는 복원 시퀀스를 구성하는 이벤트 시퀀스의 일부가 아니며 VSS 서비스는 백업 또는 복원 시퀀스가 진행 중인 경우에도 식별 이벤트가 생성되는 것을 방지하지 않습니다. 예를 들어 VSS 관리 애플리케이션은 Identify 이벤트를 사용하여 시스템의 기록기 상태를 확인하고 표시합니다.

이러한 이유로 작성기는 다음과 같은 방법으로 OnIdentifyEx 구현을 사용하면 안 됩니다.

  • 백업 또는 복원 시퀀스 처리의 시작 부분으로
  • 기록기 상태에 대한 정보를 설정하거나 유지 관리하려면
이벤트와 기록기 상호 작용에 대한 자세한 내용은 기록기 이벤트 처리를 참조하세요.

PrepareForBackup, PrepareForSnapshotPostSnapshot 이벤트 중에 작성자는 GetIdentifyInformation 메서드를 사용하여 기록기 OnIdentifyEx 메서드가 이전에 보고한 메타데이터를 가져올 수 있습니다.

pMetadata 매개 변수가 가리키는 IVssCreateWriterMetadataEx 개체의 수명 주기는 VSS 인프라에서 관리됩니다.

요구 사항

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

추가 정보

CVssWriterEx

CVssWriterEx::GetIdentifyInformation

IVssCreateWriterMetadataEx