DsReplicaSyncAllA-Funktion (ntdsapi.h)
Die DsReplicaSyncAll-Funktion synchronisiert einen Server mit allen anderen Servern, wobei bei Bedarf die transitive Replikation verwendet wird. Standardmäßig synchronisiert DsReplicaSyncAll den Server mit allen anderen Servern an seinem Standort. Sie können es jedoch auch verwenden, um standortübergreifend zu synchronisieren.
Syntax
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
);
Parameter
[in] hDS
Enthält ein Verzeichnisdiensthandle, das von der FUNKTION DSBind oder DSBindWithCred abgerufen wurde.
[in] pszNameContext
Zeiger auf eine NULL-Zeichenfolge, die den distinguished Name des zu synchronisierenden Namenskontexts angibt. Der Parameter pszNameContext ist optional. wenn der Wert NULL ist, wird der Konfigurationsnamenskontext repliziert.
[in] ulFlags
Übergibt zusätzliche Daten, die zum Verarbeiten der Anforderung verwendet werden. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.
DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE
Generiert einen schwerwiegenden Fehler, wenn kein Server kontaktiert werden kann oder wenn ein Server aufgrund einer getrennten oder unterbrochenen Topologie nicht erreichbar ist.
DS_REPSYNCALL_CROSS_SITE_BOUNDARIES
Synchronisiert über Standortgrenzen hinweg. Standardmäßig versucht DsReplicaSyncAll , nur mit DCs am selben Standort wie das Homesystem zu synchronisieren. Legen Sie dieses Flag fest, um zu versuchen, mit allen DCs in der Unternehmensgesamtstruktur zu synchronisieren. Die DCs können jedoch nur synchronisiert werden, wenn sie durch einen synchronen RPC-Transport verbunden sind.
DS_REPSYNCALL_DO_NOT_SYNC
Deaktiviert die gesamte Synchronisierung. Die Topologie wird weiterhin analysiert, und nicht verfügbare oder nicht erreichbare Server werden weiterhin identifiziert.
DS_REPSYNCALL_ID_SERVERS_BY_DN
Im Falle eines nicht schwerwiegenden Fehlers gibt der Server distinguished Names (DN) anstelle der GUID-DNS-Namen zurück.
DS_REPSYNCALL_NO_OPTIONS
Diese Option hat keine Auswirkung.
DS_REPSYNCALL_PUSH_CHANGES_OUTWARD
Übermittelt Änderungen aus dem Homeserver an alle Partner unter Verwendung der transitiven Replikation. Dadurch werden die Richtung der Replikation und die Ausführungsreihenfolge der Replikationsgruppen vom üblichen "Pulling"-Ausführungsmodus umgekehrt.
DS_REPSYNCALL_SKIP_INITIAL_CHECK
Es wird davon ausgegangen, dass alle Server reagieren. Dies beschleunigt den Betrieb der DsReplicaSyncAll-Funktion , aber wenn einige Server nicht reagieren, werden einige transitive Replikationen möglicherweise blockiert.
DS_REPSYNCALL_SYNC_ADJACENT_SERVERS_ONLY
Deaktiviert die transitive Replikation. Die Synchronisierung wird nur mit den angrenzenden Servern ausgeführt.
[in] pFnCallBack
Zeiger auf eine anwendungsdefinierte SyncUpdateProc-Funktion , die von der DsReplicaSyncAll-Funktion aufgerufen wird, wenn ein Fehler auftritt, die Synchronisierung von zwei Servern initiiert, die Synchronisierung von zwei Servern abgeschlossen oder die Synchronisierung aller Server am Standort abgeschlossen wird.
[in, optional] pCallbackData
Zeiger auf anwendungsdefinierte Daten, die als erstes Argument der SyncUpdateProc-Rückruffunktion übergeben werden, auf die vom pFnCallBack-Parameter verwiesen wird.
[out, optional] pErrors
Ein NULL-beendetes Array von Zeigern auf
DS_REPSYNCALL_ERRINFO Strukturen, die Fehler enthalten, die während der Synchronisierung aufgetreten sind. Der Arbeitsspeicher, der zum Speichern des Arrays von Zeigern und der MsCS\mscs\clusctl_resource_type_get_private_property_fmts.xml Daten verwendet wird, wird als einzelner Speicherblock zugeordnet und sollte freigegeben werden, wenn kein einzelner Aufruf von LocalFree mehr erforderlich ist, wobei der In pErrors als Argument verwendete Zeigerwert zurückgegeben wird.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, lautet der Rückgabewert wie folgt.
Hinweise
Die DsReplicaSyncAll-Funktion versucht, an alle Server zu binden, bevor eine Topologie für die Synchronisierung generiert wird. Wenn ein Server nicht kontaktiert werden kann, schließt die Funktion diesen Server aus der Topologie aus und versucht, ihn zu umgehen. Das Festlegen des DS_REPSYNCALL_SKIP_INITIAL_CHECK-Flags in ulFlags umgeht die anfängliche Bindung.
Wenn ein Server nicht kontaktiert werden kann, versucht die DsReplicaSyncAll-Funktion , ihn herumzuleiten und von so vielen Servern wie möglich zu replizieren, es sei denn, DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE in ulFlags festgelegt ist.
Die DsReplicaSyncAll-Funktion kann die Rückruffunktion verwenden, auf die pFnCallBack verweist, um einen Endbenutzer über den aktuellen status der Replikation auf dem Laufenden zu halten. Die Ausführung der DsReplicaSyncAll-Funktion wird angehalten, wenn sie die Funktion aufruft, auf die von pFnCallBack verwiesen wird. Wenn der Rückgabewert der Rückruffunktion TRUE ist, wird die Replikation fortgesetzt. Andernfalls beendet die DsReplicaSyncAll-Funktion die Replikation.
Hinweis
Der ntdsapi.h-Header definiert DsReplicaSyncAll als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | ntdsapi.h |
Bibliothek | Ntdsapi.lib |
DLL | Ntdsapi.dll |