DsReplicaSyncAllA 函式 (ntdsapi.h)
DsReplicaSyncAll 函式會視需要,使用可轉移的複寫,同步處理伺服器與其他所有伺服器。 根據預設, DsReplicaSyncAll 會將伺服器與其站台中的所有其他伺服器同步處理;不過,您也可以使用它跨網站界限進行同步處理。
語法
NTDSAPI DWORD DsReplicaSyncAllA(
[in] HANDLE hDS,
[in] LPCSTR pszNameContext,
[in] ULONG ulFlags,
[in] BOOL(* )(LPVOID,PDS_REPSYNCALL_UPDATEA) pFnCallBack,
[in, optional] LPVOID pCallbackData,
[out, optional] PDS_REPSYNCALL_ERRINFOA **pErrors
);
參數
[in] hDS
包含從 DSBind 或 DSBindWithCred 函式 取得的目錄服務句柄。
[in] pszNameContext
Null 終止字串的指標,指定要同步處理的命名內容辨別名稱。 pszNameContext 參數是選擇性的;如果其值為 NULL,則會復寫組態命名內容。
[in] ulFlags
傳遞用來處理要求的其他數據。 此參數可以是下列值的組合。
DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE
如果無法連絡任何伺服器,或因中斷或中斷拓撲而無法連線,則會產生嚴重錯誤。
DS_REPSYNCALL_CROSS_SITE_BOUNDARIES
跨越站台界限進行同步處理。 根據預設, DsReplicaSyncAll 只會嘗試與主系統相同站台中的 DC 進行同步處理。 將此旗標設定為嘗試與企業樹系中的所有 DC 同步處理。 不過,只有在同步 (RPC) 傳輸連線時,才能同步處理 DC。
DS_REPSYNCALL_DO_NOT_SYNC
停用所有的同步處理。 拓撲仍會進行分析,而且仍會識別無法使用或無法連線的伺服器。
DS_REPSYNCALL_ID_SERVERS_BY_DN
發生非嚴重錯誤時,傳回伺服器辨別名稱 (DN) ,而不是其 GUID DNS 名稱。
DS_REPSYNCALL_NO_OPTIONS
此選項沒有任何作用。
DS_REPSYNCALL_PUSH_CHANGES_OUTWARD
使用可轉移的複寫,將主伺服器中的變更推入到所有夥伴中。 這會反轉復寫的方向,以及從一般「提取」執行模式執行複寫集的順序。
DS_REPSYNCALL_SKIP_INITIAL_CHECK
假設所有的伺服器都有回應, 這可加速 DsReplicaSyncAll 函式的作業,但如果某些伺服器沒有回應,可能會封鎖某些可轉移的複寫。
DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY
停用可轉移的複寫; 只能在相鄰伺服器中執行同步處理。
[in] pFnCallBack
當 DsReplicaSyncAll 函式遇到錯誤、起始兩部伺服器的同步處理、完成兩部伺服器的同步處理,或完成站臺中所有伺服器的同步處理時,應用程式定義的 SyncUpdateProc 函式指標。
[in, optional] pCallbackData
傳遞為 pFnCallBack 參數所指向之 SyncUpdateProc 回呼函式第一個自變數的應用程式定義數據指標。
[out, optional] pErrors
指標的 NULL 終止陣列
DS_REPSYNCALL_ERRINFO 結構,其中包含同步處理期間發生的錯誤。 用來保存指標數位和 MsCS\mscs\clusctl_resource_type_get_private_property_fmts.xml 數據陣列的記憶體會配置為單一記憶體區塊,而且當單一呼叫 LocalFree 不再需要時,應該釋出,且在做為自變數的 pErrors 中傳回的指標值。
傳回值
如果函式成功,傳回值 會ERROR_SUCCESS。
如果函式失敗,則傳回值如下所示。
備註
DsReplicaSyncAll 函式會先嘗試系結至所有伺服器,再產生要同步處理的拓撲。 如果無法連絡伺服器,函式會從拓撲中排除該伺服器,並嘗試解決此問題。 在ulFlags中設定DS_REPSYNCALL_SKIP_INITIAL_CHECK旗標會略過初始系結。
如果無法連絡伺服器,DsReplicaSyncAll 函式會嘗試路由傳送,並盡可能從多部伺服器進行復寫,除非在 ulFlags 中設定DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE。
DsReplicaSyncAll 函式可以使用 pFnCallBack 所指向的回呼函式,讓使用者知道復寫的目前狀態。 DsReplicaSyncAll 函式的執行會在呼叫 pFnCallBack 所指向的函式時暫停。 如果回呼函式的傳回值為 TRUE,則復寫會繼續;否則, DsReplicaSyncAll 函式會終止複寫。
注意
ntdsapi.h 標頭會將 DsReplicaSyncAll 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | ntdsapi.h |
程式庫 | Ntdsapi.lib |
Dll | Ntdsapi.dll |