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 值指標。 呼叫其他目錄服務備份函式時,會使用此控制碼,例如 DsBackupOpenFile 和 DsBackupEnd。
傳回值
如果函式成功或錯誤碼,則傳回 S_OK 。 下列清單列出其他可能的錯誤碼。
-
ERROR_ACCESS_DENIED
-
呼叫端沒有適當的存取權限可呼叫此函式。 DsSetAuthIdentity函式可用來設定用於備份和還原函式的認證。
-
ERROR_INVALID_PARAMETER
-
szBackupServer 或 phbcBackupCoNtext 無效。
-
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 |
標頭 |
|
程式庫 |
|
DLL |
|
Unicode 與 ANSI 名稱 |
DsBackupPrepareW (Unicode) 和 DsBackupPrepareA (ANSI) |