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 との同期を試みます。 ただし、DC は、同期 (RPC) トランスポートによって接続されている場合にのみ同期できます。
DS_REPSYNCALL_DO_NOT_SYNC
すべての同期を無効にします。 トポロジは引き続き分析され、使用できないサーバーまたは到達できないサーバーは引き続き識別されます。
DS_REPSYNCALL_ID_SERVERS_BY_DN
致命的でないエラーが発生した場合は、GUID DNS 名の代わりにサーバー識別名 (DN) を返します。
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 関数へのポインター。エラーが発生したとき、2 台のサーバーの同期を開始する場合、2 台のサーバーの同期を完了する場合、またはサイト内のすべてのサーバーの同期を完了します。
[in, optional] pCallbackData
pFnCallBack パラメーターによって指される SyncUpdateProc コールバック関数の最初の引数として渡されるアプリケーション定義データへのポインター。
[out, optional] pErrors
へのポインターの NULL で終わる配列
同期 中に発生したエラーを含む構造体をDS_REPSYNCALL_ERRINFOします。 ポインターの配列と MsCS\mscs\clusctl_resource_type_get_private_property_fmts.xml データの両方を保持するために使用されるメモリは、単一のメモリ ブロックとして割り当てられ、引数として使用される pErrors で返されるポインター値を持つ LocalFree の 1 回の呼び出しで不要になった場合は解放する必要があります。
戻り値
関数が成功した場合、戻り値は 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 |
Library | Ntdsapi.lib |
[DLL] | Ntdsapi.dll |