Partager via


4.1.6.3 Server Behavior of the IDL_DRSExecuteKCC Method

Informative summary of behavior: The IDL_DRSExecuteKCC method triggers the execution of tasks that generate and maintain the replication topology between DCs.<15> See [MS-ADTS] section 6.2.2 for more information related to the tasks performed by the KCC upon receipt of an IDL_DRSExecuteKCC request.

 ULONG
 IDL_DRSExecuteKCC(
     [in, ref] DRS_HANDLE hDrs,
     [in] DWORD dwInVersion,
     [in, ref, switch_is(dwInVersion)]
         DRS_MSG_KCC_EXECUTE *pmsgIn)
  
 msgIn: DRS_MSG_KCC_EXECUTE_V1
  
 ValidateDRSInput(hDrs, 18)
  
 /* Validate the request version */
 if dwInVersion ≠ 1 then
   return ERROR_DS_DRA_INVALID_PARAMETER
 endif
  
 msgIn := pmsgIn^.V1
  
 if msgIn.dwTaskID ≠ 0 then
   return ERROR_INVALID_PARAMETER
 endif
  
 if not AccessCheckCAR(ConfigNC(), DS-Replication-Manage-Topology) 
     then
   return ERROR_DS_DRA_ACCESS_DENIED
 endif
  
 if msgIn.dwFlags = DS_KCC_FLAG_ASYNC_OP then
   Asynchronous Processing: Initiate a logical thread of control
    to process the remainder of this request asynchronously
   return 0
 endif
 return ExecuteKCCTasks()