DsRestoreGetDatabaseLocations 関数
[この関数は、[要件] セクションで指定されたオペレーティング システムで使用できます。 それより後のバージョンでは、変更されるか、使用できなくなる場合があります。 Windows Vista 以降では、代わりにボリューム シャドウ コピー サービス (VSS) を使用します。
DsRestoreGetDatabaseLocations 関数は、復元操作中にバックアップ ファイルをコピーする場所を取得します。
構文
HRESULT DsRestoreGetDatabaseLocations(
_In_ HBC hbc,
_Out_ LPWSTR *pszDatabaseLocationList,
_Out_ LPDWORD pcbSize
);
パラメーター
-
hbc [in]
-
DsRestorePrepare 関数で取得した 復元コンテキスト ハンドルを 格納します。
-
pszDatabaseLocationList [out]
-
UNC パスとしてデータベースの場所の一覧を受け取る文字列ポインターへのポインター。 このリストは、1 つの null で終わる文字列の null で終わる 2 つのリストを受け取ります。
このバッファーは DsRestoreGetDatabaseLocations 関数によって割り当てられ、DsBackupFree 関数を呼び出して不要になったときに解放する必要があります。
各ファイル名の最初の文字には、名前の種類を 識別する BFT 定数 のいずれかが含まれています。 DsRestoreGetDatabaseLocations 関数は 、 次の名前の型のみを提供します。
-
BFT_NTDS_DATABAStandard Edition
-
NTDS データベース ファイルをこのファイルにコピーする必要があります。 これは、バックアップの実行時にBFT_NTDS_DATABAStandard Editionとして識別されたファイルです。
-
BFT_LOG_DIR
-
すべてのログ ファイルがこのディレクトリにコピーされます。 ログ ファイルは、バックアップが実行されたときにBFT_LOGとして識別されました。
-
BFT_CHECKPOINT_DIR
-
すべてのパッチ ファイルがこのディレクトリにコピーされます。 パッチ ファイルは、バックアップが実行されたときにBFT_PATCH_FILEとして識別されました。
pcbSize [out]
pszDatabaseLocationList バッファーのサイズ (バイト単位) を受け取る DWORD 値へのポインター。
戻り値
関数が 成功した場合はS_OK を返し、それ以外の場合は Win32 または RPC エラー コードを返します。 考えられるエラー コードの一覧を次に示します。
-
ERROR_ACCESS_DENIED
-
呼び出し元には、この関数を呼び出す適切なアクセス特権がありません。 DsSetAuthIdentity 関数を使用して、バックアップおよび復元関数に使用する資格情報を設定できます。
-
ERROR_INVALID_PARAMETER
-
hbc、 pszDatabaseLocationList、または pcbSize が無効です。
-
ERROR_NOT_ENOUGH_MEMORY
-
メモリ割り当てエラーが発生しました。
解説
DsRestoreGetDatabaseLocations 関数を使用すると、バックアップされたデータにアクセスせずに復元ディレクトリを取得できます。 これを行うには、pvExpiryToken パラメーターに対して NULL を指定して DsRestorePrepare を呼び出します。 これにより、DsRestorePrepare は、DsRestoreGetDatabaseLocations 関数でのみ使用できる制限付きコンテキスト ハンドルを返します。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|
Unicode 名と ANSI 名 |
DsRestoreGetDatabaseLocationsW (Unicode) と DsRestoreGetDatabaseLocationsA (ANSI) |