4.1.10.1.3 Extended Operations

The extended operation specified by msgIn.ulExtendedOp is one of the following:

  • Request Role (EXOP_FSMO_REQ_ROLE, EXOP_FSMO_REQ_PDC, EXOP_FSMO_RID_REQ_ROLE): Changes the FSMO role owner from the server to the client DC, and then adds all changed objects and link values in the FSMO role to the response, including but not limited to the FSMO role owner change.<21>

  • Abandon Role (EXOP_FSMO_ABANDON_ROLE): Performs a chained request to the current FSMO role owner to make the server DC the FSMO role owner. This request is sent to help avoid entering a state in which no DC considers itself the owner of the role.<22>

  • Allocate RIDs (EXOP_FSMO_REQ_RID_ALLOC): Allocates a new block of RIDs to the client DC.<23>

  • Replicate Single Object (EXOP_REPL_OBJ): Adds any changes to the specified object to the response.<24>

  • Replicate Single Object including Secret Data (EXOP_REPL_SECRETS): Adds any changes to the specified object to the response. In addition, it also adds the secret attribute values of the specified object to the response, regardless of whether they have recent changes. See the IsSecretAttribute procedure in section 4.1.10.3.11 for a list of these attributes.<25>