CertSrvRestoreRegisterW 함수(certbcli.h)
CertSrvRestoreRegister 함수는 인증서 서비스 복원을 등록합니다.
구문
HRESULT CERTBCLI_API CertSrvRestoreRegisterW(
[in] HCSBC hbc,
[in] WCHAR const *pwszCheckPointFilePath,
[in] WCHAR const *pwszLogPath,
[in] CSEDB_RSTMAPW [] rgrstmap,
[in] LONG crstmap,
[in] WCHAR const *pwszBackupLogPath,
[in] ULONG genLow,
[in] ULONG genHigh
);
매개 변수
[in] hbc
인증서 서비스 복원 컨텍스트에 대한 핸들입니다. 이 핸들은 CertSrvRestorePrepare 함수를 호출하여 가져옵니다.
[in] pwszCheckPointFilePath
검사 지점 파일의 복원 경로를 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.
[in] pwszLogPath
현재 로그 파일 디렉터리를 포함하는 null로 종료된 유니코드 문자열에 대한 포인터입니다. 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.
[in] rgrstmap
복원 맵을 포함하는 CSEDB_RSTMAP 구조체의 배열입니다. 전체 데이터베이스 복원을 수행하는 경우 이 매개 변수는 백업 데이터베이스의 이름과 데이터베이스가 복원된 후의 새 이름을 지정합니다. 백업 데이터베이스 이름은 pwszDatabaseName 멤버에서 참조되며 새 데이터베이스 이름은 pwszNewDatabaseName 멤버에서 참조됩니다. 백업 데이터베이스와 복원된 데이터베이스 모두에 대해 동일한 이름을 유지하려는 경우 pwszNewDatabaseName 및 pwszDatabaseName 멤버를 모두 동일한 이름으로 설정합니다. 백업 데이터베이스 이름은 CertSrvRestoreGetDatabaseLocations 함수에 대한 백업 클라이언트의 호출에 의해 반환된 경로에서 생성됩니다. CertSrvRestoreGetDatabaseLocations 는 전체 백업 중에 호출되었고 백업 클라이언트는 반환된 경로를 저장했을 것입니다.
증분 복원을 수행하는 경우 이 매개 변수에 대해 NULL 을 전달합니다.
[in] crstmap
rgrstmap 배열의 요소 수입니다. 증분 복원을 수행하는 경우 이 매개 변수에 대해 0을 전달합니다.
[in] pwszBackupLogPath
백업 로그 디렉터리의 경로를 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다. 필요하지 않은 경우 이 매개 변수에 대해 NULL 을 전달합니다.
[in] genLow
이 복원 세션에서 복원된 가장 낮은 로그 번호입니다. 로그 파일은 edbXXXXX.log 형식입니다. 여기서 XXXXX는 56진수 값입니다. 예를 들어 edb00001.log 내부 데이터베이스에서 만든 첫 번째 로그 파일입니다. 이 함수의 목적을 위해 genLow 의 값은 로그 파일 edb00001.log 해당합니다.
[in] genHigh
이 복원 세션에서 복원된 가장 높은 로그 번호입니다.
반환 값
반환 값은 HRESULT입니다. S_OK 값은 성공을 나타냅니다.
설명
이 함수를 사용하여 복원 작업을 등록합니다. 모든 후속 복원 작업은 상호 잠깁니다. CertSrvRestoreRegisterComplete가 호출될 때까지 복원 대상이 시작되거나 CertSrvRestoreRegister에 대한 다른 호출을 성공적으로 실행할 수 없습니다.
둘 이상의 증분 백업을 복원하는 경우 증분 백업이 등록된 순서는 중요하지 않습니다. 그러나 증분 백업을 등록하기 전에 전체 데이터베이스 백업을 등록해야 합니다.
이 함수를 사용하려면 호출 계정이 로컬 관리자여야 합니다. 실용적이지 않은 경우 CertSrvRestoreRegisterThroughFile 함수를 대신 사용합니다. CertSrvRestoreRegisterThroughFile 함수는 호출 계정에 복원 권한이 있어야 합니다.
예제
// szMyDBName is the returned path from the backup client's
// call to CertSrvRestoreGetDatabaseLocations. This value would
// have been saved during a full backup operation.
CSEDB_RSTMAP rgrstmap[1] =
{
szMyDBName, // database name
szMyDBName // new name same as old
};
HRESULT hr = 0;
// Register a restore operation.
// hsb is an HCSBC created previously by CertSrvRestorePrepare.
hr = CertSrvRestoreRegister(
hsb,
NULL,
szMyRestoreLogPath, // defined elsewhere
rgrstmap,
1,
szMyBackupLogPath, // defined elsewhere
1, // edb00001.log
0x1a // edb0001a.log
);
if (S_OK != hr)
{
printf("Failed CertSrvRestoreRegister - %x\n", hr);
exit(1); // Or other appropriate error action.
}
// Continue processing.
// When done, call CertSrvRestoreRegisterComplete (not shown).
// ...
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certbcli.h(Certsrv.h 포함) |
라이브러리 | Certadm.lib |
DLL | Certadm.dll |
추가 정보
CertSrvRestoreRegisterComplete
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기