DsRestoreGetDatabaseLocations 函式
[此函式可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 從 Windows Vista 開始,請改用 磁片區陰影複製服務 (VSS) 。]
DsRestoreGetDatabaseLocations函式會取得還原作業期間應該複本備份檔的位置。
語法
HRESULT DsRestoreGetDatabaseLocations(
_In_ HBC hbc,
_Out_ LPWSTR *pszDatabaseLocationList,
_Out_ LPDWORD pcbSize
);
參數
-
hbc [in]
-
包含使用 DsRestorePrepare 函式取得的還原內容控制碼。
-
pszDatabaseLocationList [out]
-
字串指標的指標,接收資料庫位置清單做為 UNC 路徑。 此清單會收到單一 Null 終止字串的雙 Null 終止清單。
此緩衝區是由 DsRestoreGetDatabaseLocations 函式所配置,而且當呼叫 DsBackupFree 函式不再需要時,必須釋放該緩衝區。
每個檔案名的第一個字元都包含其中一個 BFT 常數 ,可識別名稱類型。 DsRestoreGetDatabaseLocations 函式只提供下列名稱類型。
-
BFT_NTDS_DATABASE
-
NTDS 資料庫檔案應該複製到此檔案。 這是在執行備份時識別為 BFT_NTDS_DATABASE 的檔案。
-
BFT_LOG_DIR
-
所有記錄檔都會複製到此目錄。 執行備份時,記錄檔會識別為 BFT_LOG 。
-
BFT_CHECKPOINT_DIR
-
所有修補程式檔案都會複製到此目錄。 執行備份時,修補程式檔案會識別為 BFT_PATCH_FILE 。
azureSize [out]
接收pszDatabaseLocationList緩衝區大小的DWORD值指標,以位元組為單位。
傳回值
如果函式成功或 Win32 或 RPC 錯誤碼,則傳回 S_OK 。 下列清單列出可能的錯誤碼。
-
ERROR_ACCESS_DENIED
-
呼叫端沒有適當的存取權限可呼叫此函式。 DsSetAuthIdentity函式可用來設定用於備份和還原函式的認證。
-
ERROR_INVALID_PARAMETER
-
hbc、 pszDatabaseLocationList或 sqlSize 無效。
-
ERROR_NOT_ENOUGH_MEMORY
-
發生記憶體配置失敗。
備註
DsRestoreGetDatabaseLocations函式可用來取得還原目錄,而不需要存取備份的資料。 若要這樣做,請使用pvExpiryToken參數的Null呼叫DsRestorePrepare。 這會導致 DsRestorePrepare 傳回限制的內容控制碼,只能與 DsRestoreGetDatabaseLocations 函式搭配使用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista |
最低支援的伺服器 |
Windows Server 2008 |
標頭 |
|
程式庫 |
|
DLL |
|
Unicode 與 ANSI 名稱 |
DsRestoreGetDatabaseLocationsW (Unicode) 和 DsRestoreGetDatabaseLocationsA (ANSI) |