다음을 통해 공유


CVssWriter::Initialize 메서드(vswriter.h)

CVssWriter 개체를 초기화하고 기록기 애플리케이션이 VSS와 상호 작용할 수 있도록 합니다.

InitializeCVssWriter 기본 클래스에 의해 구현되는 공용 메서드입니다.

구문

HRESULT Initialize(
  [in] VSS_ID                     WriterId,
  [in] LPCWSTR                    wszWriterName,
  [in] VSS_USAGE_TYPE             ut,
  [in] VSS_SOURCE_TYPE            st,
  [in] VSS_APPLICATION_LEVEL      nLevel,
  [in] DWORD                      dwTimeoutFreeze,
  [in] VSS_ALTERNATE_WRITER_STATE aws,
  [in] bool                       bIOThrottlingOnly,
  [in] LPCWSTR                    wszWriterInstanceName
);

매개 변수

[in] WriterId

기록기 클래스의 GUID(Globally Unique Identifier)입니다.

[in] wszWriterName

기록기의 이름을 포함하는 null로 끝나는 와이드 문자열입니다. 이 문자열은 지역화되지 않았습니다.

[in] ut

기록기에서 관리하는 데이터가 호스트 시스템에서 사용되는 방식을 나타내는 VSS_USAGE_TYPE 열거형 값입니다.

[in] st

기록기에서 관리하는 데이터의 형식을 나타내는 VSS_SOURCE_TYPE 열거형 값입니다.

[in] nLevel

기록기가 Freeze 이벤트 알림을 받는 애플리케이션 수준을 나타내는 VSS_APPLICATION_LEVEL 열거형 값입니다.

이 매개 변수의 기본값은 VSS_APP_FRONT_END.

[in] dwTimeoutFreeze

기록기의 Freeze 이벤트 알림 수신과 VSS에서 일치하는 Thaw 이벤트 알림 수신 사이의 최대 허용 시간(밀리초)입니다. 제한 시간이 만료되면 기록기의 CVssWriter::OnAbort 메서드가 자동으로 호출됩니다.

이 매개 변수의 기본값은 60000입니다.

[in] aws

작성기에 연결된 대체 작성기가 있는지 여부를 나타내는 VSS_ALTERNATE_WRITER_STATE 열거형 값입니다.

이 매개 변수의 기본값은 VSS_AWS_NO_ALTERNATE_WRITER. 호출자는 이 기본값을 재정의해서는 안 됩니다. 이 매개 변수는 나중에 사용하도록 예약되어 있습니다.

[in] bIOThrottlingOnly

I/O 제한 메서드를 사용하도록 설정하면 이 매개 변수를 true 로 설정하고, 그렇지 않으면 false 로 설정합니다.

이 매개 변수의 기본값은 false입니다. 호출자는 이 기본값을 재정의해서는 안 됩니다. 이 매개 변수는 나중에 사용하도록 예약되어 있습니다.

[in] wszWriterInstanceName

기록기 instance 이름을 포함하는 null로 끝나는 와이드 문자열입니다.

이 매개 변수의 기본값은 NULL입니다. 기록기에 여러 인스턴스가 있고 복원 이벤트가 필요한 경우 이 매개 변수가 필요하며 NULL일 수 없습니다. 자세한 내용은 다음 설명 섹션을 참조하세요.

Windows Server 2003 및 Windows XP: WINDOWS Server 2003 SP1 이전에는 이 매개 변수가 시스템 사용을 위해 예약되어 있으며 호출자는 기본값을 재정의해서는 안 됩니다.

반환 값

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

의미
S_OK
기록기 개체를 초기화했습니다.
S_FALSE
기록기 개체를 초기화할 수 없습니다. Windows가 안전 모드이거나 설정 중이었기 때문에 VSS 기록기 인프라가 비활성 상태였습니다.
E_ACCESSDENIED
호출자가 관리자가 아닙니다.
E_INVALIDARG
매개 변수 값 중 하나가 잘못되었습니다.
E_OUTOFMEMORY
호출자가 메모리가 부족하거나 다른 시스템 리소스가 부족합니다.
VSS_E_UNEXPECTED
예기치 않은 오류입니다. 오류 코드가 오류 로그 파일에 기록됩니다. 자세한 내용은 VSS에서 이벤트 및 오류 처리를 참조하세요.

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

설명

VSS는 기록기 애플리케이션의 각 instance 고유한 기록기 instance ID를 할당합니다. 시스템에 두 개 이상의 instance 동시에 있는 경우(예: 여러 SQL 서버가 시스템에서 실행되는 경우) 각 작성기는 기록기 클래스 ID와 기록기 instance ID의 조합으로 고유하게 식별됩니다.

wszWriterInstanceName 매개 변수를 사용하면 다중 instance 기록기에서 사람이 읽을 수 있는 문자열로 instance 각 작성기의 영구 이름을 지정할 수 있습니다. 이 이름은 시스템의 기록기의 모든 인스턴스에서 고유해야 합니다. 기록기에 여러 인스턴스가 있고 복원 이벤트가 필요한 경우 이 매개 변수에 NULL 이 아닌 문자열을 지정해야 합니다. VSS는 instance 이름을 사용하여 다중 instance 기록기를 올바르게 복원합니다.

요구 사항

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

추가 정보

CVssWriter

CVssWriter::OnAbort

VSS_ALTERNATE_WRITER_STATE

VSS_APPLICATION_LEVEL

VSS_ID

VSS_SOURCE_TYPE

VSS_USAGE_TYPE