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
Certificate Services 復元コンテキストへのハンドル。 このハンドルは、 CertSrvRestorePrepare 関数を呼び出すことによって取得されます。
[in] pwszCheckPointFilePath
チェック ポイント ファイルの復元パスを含む null で終わる Unicode 文字列へのポインター。 このパラメーターが不要な場合は 、NULL を 渡します。
[in] pwszLogPath
現在のログ ファイル ディレクトリを含む null で終わる Unicode 文字列へのポインター。 このパラメーターが不要な場合は 、NULL を 渡します。
[in] rgrstmap
復元マップを含む CSEDB_RSTMAP 構造体の配列。 データベースの完全復元を実行する場合、このパラメーターはバックアップ データベースの名前と、復元後のデータベースの新しい名前を指定します。 バックアップ データベース名は pwszDatabaseName メンバーによって参照され、新しいデータベース名は pwszNewDatabaseName メンバーによって参照されます。 バックアップ データベースと復元されたデータベースの両方で同じ名前を維持する場合は、 pwszNewDatabaseName メンバーと pwszDatabaseName メンバーの両方を同じ名前に設定します。 バックアップ データベース名は、バックアップ クライアントの CertSrvRestoreGetDatabaseLocations 関数の呼び出しによって返されるパスから作成されます。 CertSrvRestoreGetDatabaseLocations は完全バックアップ中に呼び出され、バックアップ クライアントは返されたパスを保存していました。
増分復元を実行する場合は、このパラメーターに NULL を 渡します。
[in] crstmap
rgrstmap 配列内の要素の数。 増分復元を実行する場合は、このパラメーターに 0 を渡します。
[in] pwszBackupLogPath
バックアップ ログ ディレクトリのパスを含む null で終わる Unicode 文字列へのポインター。 このパラメーターが不要な場合は 、NULL を 渡します。
[in] genLow
この復元セッションで復元された最小のログ番号。 ログ ファイルはedbXXXXX.log形式で、XXXXX は 5 つの 16 進数の値です。 たとえば、edb00001.logは内部データベースによって作成された最初のログ ファイルです。 この関数の目的上、 genLow の 1 の値は、ログ ファイルの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 を含む) |
Library | Certadm.lib |
[DLL] | Certadm.dll |
こちらもご覧ください
CertSrvRestoreRegisterComplete