다음을 통해 공유


IVssBackupComponentsEx3::GetWriterStatusEx 메서드(vsbackup.h)

지정된 기록기에 대한 확장 상태 정보를 반환합니다.

구문

HRESULT GetWriterStatusEx(
  [in]            UINT             iWriter,
  [out]           VSS_ID           *pidInstance,
  [out]           VSS_ID           *pidWriter,
  [out]           BSTR             *pbstrWriter,
  [out]           VSS_WRITER_STATE *pnStatus,
  [out]           HRESULT          *phrFailureWriter,
  [out, optional] HRESULT          *phrApplication,
  [out, optional] BSTR             *pbstrApplicationMessage
);

매개 변수

[in] iWriter

메타데이터를 검색할 기록기의 인덱스입니다. 이 매개 변수의 값은 0에서 n-1 사이의 정수입니다. 여기서 n 은 현재 시스템의 총 기록기 수입니다. n 값은 IVssBackupComponents::GetWriterStatusCount 메서드에 의해 반환됩니다.

[out] pidInstance

작성기의 instance 식별자를 수신하는 호출자가 할당한 변수의 주소입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[out] pidWriter

작성기 클래스의 식별자를 수신하는 호출자 할당 변수의 주소입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[out] pbstrWriter

지정된 작성기의 이름을 포함하는 문자열을 수신하는 호출자 할당 변수의 주소입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[out] pnStatus

VSS_WRITER_STATE 열거형 값을 수신하는 호출자가 할당한 변수의 주소입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[out] phrFailureWriter

작성자가 CVssWriterEx2::SetWriterFailureEx 메서드의 hrWriter 매개 변수에 대해 반환한 HRESULT 오류 코드를 수신하는 호출자 할당 변수의 주소입니다.

지원되는 값은 다음과 같습니다.

의미
S_OK
작가는 성공적이었다.
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT
섀도 복사본에는 애플리케이션 구성 요소를 올바르게 백업하는 데 필요한 볼륨의 하위 집합만 포함됩니다.
VSS_E_WRITERERROR_OUTOFRESOURCES
기록기에 메모리가 부족하거나 다른 시스템 리소스가 부족합니다. 이 오류 코드를 처리하는 권장 방법은 10분을 기다린 다음 작업을 최대 3번 반복하는 것입니다.
VSS_E_WRITERERROR_TIMEOUT
Freeze 및 Thaw 이벤트 간의 시간 제한으로 인해 기록기 작업이 실패했습니다. 이 오류 코드를 처리하는 권장 방법은 10분을 기다린 다음 작업을 최대 3번 반복하는 것입니다.
VSS_E_WRITERERROR_RETRYABLE
전체 백업, 복원 또는 섀도 복사본 만들기 프로세스가 다시 시작되면 발생하지 않을 수 있는 오류로 인해 기록기가 실패했습니다. 이 오류 코드를 처리하는 권장 방법은 10분을 기다린 다음 작업을 최대 3번 반복하는 것입니다.
VSS_E_WRITERERROR_NONRETRYABLE
다른 섀도 복사본을 만들 때 발생할 수 있는 오류로 인해 기록기 작업이 실패했습니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.
VSS_E_WRITER_NOT_RESPONDING
작성기가 응답하지 않습니다.
VSS_E_WRITER_STATUS_NOT_AVAILABLE
작성기 상태 하나 이상의 작성기에 사용할 수 없습니다. 작성기가 사용 가능한 백업 및 복원 세션의 최대 수에 도달했을 수 있습니다.
VSS_E_WRITERERROR_PARTIAL_FAILURE
작성기가 하나 이상의 구성 요소 수준 오류를 보고하고 있습니다. 오류를 검색하려면 요청자가 IVssComponentEx2::GetFailure 메서드를 사용해야 합니다.

[out, optional] phrApplication

작성기가 CVssWriterEx2::SetWriterFailureEx 메서드의 hrApplication 매개 변수에 대해 전달한 반환 코드를 수신하는 호출자 할당 변수의 주소입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

[out, optional] pbstrApplicationMessage

SetWriterFailureEx 메서드의 wszApplicationMessage 매개 변수에 대해 작성기가 전달한 애플리케이션 실패 메시지를 수신하는 변수의 주소입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

반환 값

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

의미
S_OK
0x00000000L
지정한 기록기의 상태 반환했습니다. 작성기가 성공했는지 확인하려면 phrFailureWriter 매개 변수의 값을 확인해야 합니다. 기록기 오류 코드는 VsWriter.h 및 기록기 오류 및 Vetoes에 나열된 코드 중 하나일 수 있습니다.
E_INVALIDARG
0x80070057L
pnStatus, pidWriter, pbstrWriter 또는 pidInstance 매개 변수는 NULL입니다.
E_OUTOFMEMORY
0x8007000EL
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_BAD_STATE
0x80042301L
백업 구성 요소 개체가 초기화되지 않았거나, 복원 작업 중에 이 메서드가 호출되었거나, 이 메서드가 올바른 시퀀스 내에서 호출되지 않았습니다.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
iWriter 매개 변수는 존재하지 않는 작성기를 지정합니다.

설명

요청자는 비동기 작업 IVssBackupComponents::GatherWriterStatus 를 호출하고 IVssBackupComponentsEx3::GetWriterStatusEx를 호출하기 전에 완료되기를 기다려야 합니다.

이 메서드가 VSS_E_WRITERERROR_PARTIAL_FAILURE 반환하는 경우 요청자는 IVssComponentEx2::GetFailure 메서드를 사용하여 구성 요소 수준 오류를 검색해야 합니다.

호출자가 이 메서드에서 반환한 상태 정보에 대한 액세스를 마치면 sysFreeString을 호출하여pbstrWriterpbstrApplicationMessage 매개 변수가 보유한 메모리를 해제해야 합니다.

요구 사항

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

추가 정보

CVssWriterEx2::SetWriterFailureEx

IVssBackupComponents::GetWriterStatus

IVssBackupComponentsEx3