次の方法で共有


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 値へのポインター。 このハンドルは、DsBackupOpenFileDsBackupEnd などの他の Directory Service バックアップ関数を呼び出すときに使用されます。

戻り値

関数が 成功した場合はS_OK を返し、それ以外の場合はエラー コードを返します。 次の一覧に、考えられるその他のエラー コードを示します。

ERROR_ACCESS_DENIED

呼び出し元には、この関数を呼び出す適切なアクセス特権がありません。 DsSetAuthIdentity 関数を使用して、バックアップおよび復元関数に使用する資格情報を設定できます。

ERROR_INVALID_PARAMETER

szBackupServer または phbcBackupContext が無効です。

ERROR_NOT_ENOUGH_MEMORY

メモリ割り当てエラーが発生しました。

hrCouldNotConnect

szBackupServer 内のサーバーが見つかりませんでした。doメイン コントローラーではないか、szBackupServer が正しく書式設定されていません。 この値は ntdsbmsg.h で定義されています。

hrInvalidParam

ppvExpiryToken または pcbExpiryTokenSize が無効です。 この値は Ntdsbmsg.h で定義されています。

RPC_S_INVALID_BINDING

関数がリモートで呼び出されるか、szServerName 内のサーバーが doメイン コントローラーではありません。

解説

この関数では、呼び出し元にStandard Edition_BACKUP_NAME特権が必要です。 DsSetAuthIdentity 関数を使用して、この関数が呼び出されるセキュリティ コンテキストを変更できます。

要件

要件 Value
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
ヘッダー
Ntdsbcli.h
ライブラリ
Ntdsbcli.lib
[DLL]
Ntdsbcli.dll
Unicode 名と ANSI 名
DsBackupPrepareW (Unicode) と DsBackupPrepareA (ANSI)

関連項目

DsRestorePrepare

DsBackupFree

DsBackupOpenFile

DsBackupEnd

DsSetAuthIdentity

Active Directory サーバーのバックアップ

ディレクトリ バックアップ関数