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 関数は、同期元のトポロジを生成する前に、すべてのサーバーへのバインドを試みます。 サーバーに接続できない場合、この関数はそのサーバーをトポロジから除外し、その回避を試みます。 ulFlagsDS_REPSYNCALL_SKIP_INITIAL_CHECK フラグを設定すると、初期バインディングがバイパスされます。

サーバーに接続できない場合、dsReplicaSyncAll 関数は、ulFlagsDS_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

こちらもご覧ください

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

ドメイン コントローラーとレプリケーション管理機能

DsReplicaSync

SyncUpdateProc