DsReplicaSyncAllA-Funktion (ntdsapi.h)
Die DsReplicaSyncAll-Funktion synchronisiert bei Bedarf einen Server mit allen anderen Servern, wobei die transitive Replikation verwendet wird. Standardmäßig synchronisiert DsReplicaSyncAll den Server mit allen anderen Servern an seinem Standort; Sie können sie jedoch auch verwenden, um sie über Standortgrenzen hinweg 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 entweder vom DSBind- oder DSBindWithCredWithCred-Funktion abgerufen wird.
[in] pszNameContext
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den distinguishierten Namen des zu synchronisierenden Namenskontexts angibt. Der pszNameContext Parameter ist optional; wenn der Wert NULL-ist, wird der Konfigurationsbenennungskontext repliziert.
[in] ulFlags
Übergibt zusätzliche Daten, die zum Verarbeiten der Anforderung verwendet werden. Dieser Parameter kann eine Kombination aus den folgenden Werten sein.
DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE
Generiert einen schwerwiegenden Fehler, wenn kein Server kontaktiert werden kann oder ein Server aufgrund einer getrennten oder fehlerhaften Topologie nicht erreichbar ist.
DS_REPSYNCALL_CROSS_SITE_BOUNDARIES
Synchronisiert sich über Websitegrenzen hinweg. Standardmäßig versucht DsReplicaSyncAll, nur mit DCs an derselben Website wie das Heimsystem zu synchronisieren. Legen Sie dieses Kennzeichen fest, um zu versuchen, mit allen DCs in der Unternehmensstruktur zu synchronisieren. Die DCs können jedoch nur synchronisiert werden, wenn sie durch einen synchronen Transport (RPC) verbunden sind.
DS_REPSYNCALL_DO_NOT_SYNC
Deaktiviert alle Synchronisierungen. Die Topologie wird weiterhin analysiert, und nicht verfügbare oder nicht erreichbare Server werden weiterhin identifiziert.
DS_REPSYNCALL_ID_SERVERS_BY_DN
Gibt im Falle eines nicht schwerwiegenden Fehlers server distinguished names (DN) anstelle ihrer GUID-DNS-Namen zurück.
DS_REPSYNCALL_NO_OPTIONS
Diese Option hat keine Auswirkung.
DS_REPSYNCALL_PUSH_CHANGES_OUTWARD
Verschiebt Änderungen vom Heimserver an alle Partner, die transitive Replikation verwenden. Dadurch wird die Richtung der Replikation und die Reihenfolge der Ausführung der Replikationssätze aus dem üblichen "Pulling"-Modus der Ausführung umgekehrt.
DS_REPSYNCALL_SKIP_INITIAL_CHECK
Geht davon aus, 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 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 beendet wird.
[in, optional] pCallbackData
Zeiger auf anwendungsdefinierte Daten, die als erstes Argument der SyncUpdateProc- Rückruffunktion übergeben werden, auf die durch den 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 Speicher, der zum Speichern des Arrays von Zeigern und msCS-\mscs\clusctl_resource_type_get_private_property_fmts.xml Daten verwendet wird, wird als einzelner Speicherblock zugewiesen und sollte freigegeben werden, wenn ein einzelner Aufruf von LocalFree nicht mehr erforderlich ist, wobei der Zeigerwert in pErrors als Argument 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.
Bemerkungen
Die DsReplicaSyncAll--Funktion versucht, eine Bindung an alle Server zu erstellen, bevor eine Topologie zum Synchronisieren generiert wird. Wenn kein Server kontaktiert werden kann, schließt die Funktion diesen Server aus der Topologie aus und versucht, ihn zu umgehen. Wenn Sie das DS_REPSYNCALL_SKIP_INITIAL_CHECK Flag in ulFlags festlegen, wird die ursprüngliche Bindung umgangen.
Wenn kein Server kontaktiert werden kann, versucht die DsReplicaSyncAll--Funktion, sie umzuleiten und von so vielen Servern wie möglich zu replizieren, es sei denn, DS_REPSYNCALL_ABORT_IF_SERVER_UNAVAILABLE in ulFlagsfestgelegt 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 funktion DsReplicaSyncAll wird angehalten, wenn sie die Funktion aufruft, auf die durch pFnCallBackverwiesen wird. Wenn der Rückgabewert der Rückruffunktion TRUEist, wird die Replikation fortgesetzt; andernfalls beendet die DsReplicaSyncAll--Funktion die Replikation.
Anmerkung
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 Code, der nicht codierungsneutral ist, 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 |
---|---|
mindestens unterstützte Client- | Windows Vista |
mindestens unterstützte Server- | Windows Server 2008 |
Zielplattform- | Fenster |
Header- | ntdsapi.h |
Library | Ntdsapi.lib |
DLL- | Ntdsapi.dll |