共用方式為


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值的指標,這個值會接收與此備份相關聯之到期權杖的指標。 sqlExpiryTokenSize 會接收此資料的大小,以位元組為單位。 呼叫端必須使用備份來儲存此權杖的內容,因為嘗試還原資料時,權杖必須傳遞至 DsRestorePrepare 。 儲存權杖且不再需要之後,呼叫端應該使用 DsBackupFree釋放配置的記憶體。

sqlExpiryTokenSize [out]

DWORD值的指標,接收ppvExpiryToken中權杖的大小,以位元組為單位。

phbc [out]

接收備份控制碼的 HBC 值指標。 呼叫其他目錄服務備份函式時,會使用此控制碼,例如 DsBackupOpenFileDsBackupEnd

傳回值

如果函式成功或錯誤碼,則傳回 S_OK 。 下列清單列出其他可能的錯誤碼。

ERROR_ACCESS_DENIED

呼叫端沒有適當的存取權限可呼叫此函式。 DsSetAuthIdentity函式可用來設定用於備份和還原函式的認證。

ERROR_INVALID_PARAMETER

szBackupServerphbcBackupCoNtext 無效。

ERROR_NOT_ENOUGH_MEMORY

發生記憶體配置失敗。

hrCouldNotConnect

找不到 szBackupServer 中的伺服器,不是網域控制站,或 szBackupServer 的格式不正確。 此值定義于 ntdsbmsg.h 中。

hrInvalidParam

ppvExpiryToken 和/或 sqlExpiryTokenSize 無效。 此值定義于 Ntdsbmsg.h 中。

RPC_S_INVALID_BINDING

函式會從遠端呼叫,或 szServerName 中的伺服器不是網域控制站。

備註

此函式需要呼叫端具有 SE_BACKUP_NAME 許可權。 DsSetAuthIdentity函式可用來變更呼叫此函式的安全性內容。

規格需求

需求
最低支援的用戶端
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 伺服器

目錄備份函式