次の方法で共有


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
ターゲット プラットフォーム の ウィンドウズ
ヘッダー ntdsapi.h
ライブラリ Ntdsapi.lib
DLL Ntdsapi.dll

関連項目

DS_REPSYNCALL_ERRINFO

DS_REPSYNCALL_UPDATE

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

DsReplicaSync を する

SyncUpdateProc の