3.2.4.1.1 CheckConnectivity (Opnum 0)

The CheckConnectivity method determines whether a server can establish an outbound connection (see the EstablishConnection method specified in section 3.2.4.1.2).

 DWORD CheckConnectivity(
   [in] FRS_REPLICA_SET_ID replicaSetId,
   [in] FRS_CONNECTION_ID connectionId
 );

replicaSetId: The GUID of the outbound connection’s replication group (see the objectGUID attribute specified in section 2.3.5).

connectionId: The GUID of the outbound connection (see the objectGUID attribute specified in section 2.3.11) in the specified replication group.

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. The server is ready to establish the specified outbound connection.

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

Validating the connectivity check request: The server validates the connectivity check request by performing the following checks.

  • If the server is not a member of the specified replication group it MUST fail the call with an implementation-defined failure value.

  • If the specified connection does not exist in the specified replication group's configuration, then the server MUST fail the call with an implementation-defined failure value.

  • If the specified connection is disabled (see the msDFSR-Enabled attribute specified in section 2.3.11), then the server MUST fail the call with an implementation-defined value.

  • If the server is not the specified connection’s outbound partner, then the server MUST fail the call with an implementation-defined failure value.

Actions Triggered: Upon successfully verifying the connection check request, the server MUST determine whether it is ready to process a call to the EstablishConnection method. The details of this test are implementation-specific. If the server is ready to process a call to the EstablishConnection method for the specified connection, then the server MUST complete the call successfully by returning ERROR_SUCCESS. If the server is not ready to process a call to the EstablishConnection method for the specified connection, then the server MUST fail the call with an implementation-defined failure value.