DsBackupPrepare 함수

[이 함수는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. Windows Vista부터 VSS(볼륨 섀도 복사본 서비스) 를 대신 사용합니다.]

DsBackupPrepare 함수는 온라인 백업을 위해 지정된 서버의 디렉터리를 준비하고 다른 백업 함수에 대한 후속 호출에 사용되는 백업 컨텍스트 핸들을 반환합니다.

구문

HRESULT DsBackupPrepare(
  _In_  LPCTSTR szBackupServer,
  _In_  ULONG   grbit,
  _In_  ULONG   btBackupType,
  _Out_ PVOID   *ppvExpiryToken,
  _Out_ LPDWORD pcbExpiryTokenSize,
  _Out_ HBC     *phbc
);

매개 변수

szBackupServer [in]

백업할 서버의 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 앞의 백슬라이시는 선택 사항입니다. 서버는 이 함수가 호출된 컴퓨터와 동일해야 합니다. 서버 이름에 밑줄(_) 문자를 포함할 수 없습니다. 서버 이름의 예는 "\\server1"입니다.

grbit [in]

로그 파일을 백업할지 여부를 결정합니다. 증분 백업은 지원되지 않으므로 이 값은 항상 0이어야 합니다.

btBackupType [in]

백업 유형을 지정합니다. 다음 값 중 하나일 수 있습니다.

BACKUP_TYPE_FULL

전체 백업을 지정합니다. 전체 디렉터리(DIT, 로그 파일 및 업데이트 파일)가 백업됩니다. 모든 데이터가 백업되고 트랜잭션 로그 파일이 잘립니다. 전체 백업만 지원됩니다.

BACKUP_TYPE_LOGS_ONLY

이 값은 지원되지 않습니다. 데이터베이스 자체가 아닌 데이터베이스 로그만 백업되도록 지정합니다. 일반적으로 차등 또는 증분 백업을 수행할 때 사용됩니다.

BACKUP_TYPE_INCREMENTAL

이 값은 지원되지 않습니다. DsBackupPrepare은ERROR_INVALID_PARAMETER 반환합니다.

ppvExpiryToken [out]

이 백업과 연결된 만료 토큰에 대한 포인터를 수신하는 PVOID 값에 대한 포인터입니다. pcbExpiryTokenSize 는 이 데이터의 크기(바이트)를 받습니다. 데이터를 복원하려고 할 때 토큰을 DsRestorePrepare 에 전달해야 하므로 호출자는 이 토큰의 내용을 백업과 함께 저장해야 합니다. 토큰이 저장되고 더 이상 필요하지 않으면 호출자는 DsBackupFree를 사용하여 할당된 메모리를 해제해야 합니다.

pcbExpiryTokenSize [out]

ppvExpiryToken에서 토큰의 크기(바이트)를 수신하는 DWORD 값에 대한 포인터입니다.

phbc [out]

백업에 대한 핸들을 수신하는 HBC 값에 대한 포인터입니다. 이 핸들은 DsBackupOpenFile 및 DsBackupEnd 와 같은 다른 디렉터리 서비스 백업 함수 호출할 때 사용됩니다.

반환 값

함수가 성공하면 S_OK 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 다음 목록에는 다른 가능한 오류 코드가 나열되어 있습니다.

ERROR_ACCESS_DENIED

호출자에게 이 함수를 호출할 수 있는 적절한 액세스 권한이 없습니다. DsSetAuthIdentity 함수를 사용하여 백업 및 복원 함수에 사용할 자격 증명을 설정할 수 있습니다.

ERROR_INVALID_PARAMETER

szBackupServer 또는 phbcBackupContext 가 잘못되었습니다.

ERROR_NOT_ENOUGH_MEMORY

메모리 할당 오류가 발생했습니다.

hrCouldNotConnect

szBackupServer의 서버를 찾을 수 없거나 도메인 컨트롤러가 아니거나 szBackupServer의 형식이 올바르게 지정되지 않았습니다. 이 값은 ntdsbmsg.h에 정의되어 있습니다.

hrInvalidParam

ppvExpiryToken 및/또는 pcbExpiryTokenSize 가 잘못되었습니다. 이 값은 Ntdsbmsg.h에 정의되어 있습니다.

RPC_S_INVALID_BINDING

함수가 원격으로 호출되거나 szServerName의 서버가 도메인 컨트롤러가 아닙니다.

설명

이 함수를 사용하려면 호출자에게 SE_BACKUP_NAME 권한이 있어야 합니다. DsSetAuthIdentity 함수를 사용하여 이 함수가 호출되는 보안 컨텍스트를 변경할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
헤더
Ntdsbcli.h
라이브러리
Ntdsbcli.lib
DLL
Ntdsbcli.dll
유니코드 및 ANSI 이름
DsBackupPrepareW (유니코드) 및 DsBackupPrepareA (ANSI)

추가 정보

DsRestorePrepare

DsBackupFree

DsBackupOpenFile

DsBackupEnd

DsSetAuthIdentity

Active Directory 서버 백업

디렉터리 백업 함수