3.2.4.6 NtFrsApi_Rpc_ForceReplication (Opnum 10)

This call MUST trigger replication on the connection even if the schedule is off.

 unsigned long NtFrsApi_Rpc_ForceReplication(
   [in] handle_t Handle,
   [in, unique] GUID* ReplicaSetGuid,
   [in, unique] GUID* CxtionGuid,
   [in, string, unique] PWCHAR ReplicaSetName,
   [in, string, unique] PWCHAR PartnerDnsName
 );

Handle: The binding handle that is obtained when the partner authenticated with the file replication service (FRS).

ReplicaSetGuid: A pointer to the globally unique identifier (GUID) of the replica set.

CxtionGuid: A pointer to the GUID of the upstream partner connection.

ReplicaSetName: The replica set name.

PartnerDnsName: The fully qualified domain name of the upstream partner.

Return Values: The method MUST return 0 on success or a nonzero error code on failure. All nonzero values MUST be treated as equivalent failures unless otherwise specified.

Return value/code

Description

0x00000000

ERROR_SUCCESS

The method completed successfully.

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].

Validating the _NtFrsApi_Rpc ForceReplication request: The server must validate the NtFrsApi_Rpc ForceReplication request by performing the following checks.

  • If IsForceReplicationCheckEnabled is set to "None", the server MUST fail the call with an implementation-specific value.

  • If IsForceReplicationCheckEnabled is set to "Disabled", the server MUST process the request without performing an access check.

  • If IsForceReplicationCheckEnabled is set to "Enabled", the server MUST check whether the calling client is authorized to perform that function. If the caller is not authorized to perform that function, the server MUST return ERROR_NOT_AUTHENTICATED.

    • If ForceReplicationAccessRequired is set to "None", the server MUST fail the call with an implementation-specific value.

    • If ForceReplicationAccessRequired is set to "Read", the server MUST check whether the caller has read access. If the caller does not have read access, the server MUST return FRS_ERR_INSUFFICIENT_PRIV.

    • If ForceReplicationAccessRequired is set to "Write", the server MUST check whether the caller has write access. If the caller does not have write access, the server MUST return FRS_ERR_INSUFFICIENT_PRIV

    • If the server is not able to verify the passed in parameters then it MUST ignore the failure and succeed the call.

Actions Triggered: The NtFrsApi_Rpc_ForceReplication method MUST force replication to occur outside the scheduled replication activity.