3.1.5.4.5 GetReferenceBacklogCounts Method (Opnum 8)

The GetReferenceBacklogCounts method gets the outbound backlog for a replicated folder on the member, relative to specific version vectors.

 HRESULT GetReferenceBacklogCounts(
   [in] SAFEARRAY  (_VersionVectorData)* flatMemberVersionVectors,
   [out] SAFEARRAY (long)* backlogCounts
 );

flatMemberVersionVectors: MUST be the version vector of the replication group on another member that is participating in the same replication group. If multiple members are specified in the flatMemberVersionVectors array, the backlogCounts array contains the backlog counts for each reference vector specified.

backlogCounts: The relative backlog for each reference vector in flatMemberVersionVectors MUST be returned in this output parameter. The length of the backlogCounts array MUST be the same as the length of flatMemberVersionVectors. The value on each position in the returned array MUST correspond to the version vector on the same position in the flatMemberVersionVectors array.

Return Values: The method MUST return 0 on success or return an implementation-specific nonzero HRESULT error code, as specified in [MS-ERREF] section 2.1, between 0x80000000 and 0xFFFFFFFF on failure. For protocol purposes, all nonzero values MUST be treated as equivalent failures.

After the server receives this message, it MUST get the backlog count for each version vector that is supplied in the message parameters. If the server fails to retrieve a backlog count, it returns a special value in the backlogCounts array at an index that corresponds to the index in the flatMemberVersionVectors for the entry that was used as input. The overall method MAY still return success (S_OK). <62> These special values are as follows:

  • BACKLOG_CONTENT_SET_NOT_PRESENT (0xffffffff): The content set is not present in DFS-R.

  • BACKLOG_ERROR_GET_BACKLOG_FAILED (0xfffffffe): Describes one or more of the following conditions:

    • Run-time errors or implementation-specific errors that prevent the calculation of the backlog count.

    • The flat member version vector could not be decompressed by using DFS-R. The DFS-R decompression algorithm is specified in [MS-FRS2] section 3.1.1.2.

    • The version vector is empty (has a length of zero).

The backlog counts MUST be saved in the backlogCounts output parameter.

The server MUST return the response to the client. The response MUST contain the output parameters that were previously mentioned and also the status of the operation.