3.1.5.5.2 GetCompressedReport Method (Opnum 10)

The GetCompressedReport method gets the health information for the specified replication group and the global health data of the DFS-R service on the server. The server MUST encode the report as a field in the format that is specified by the DFS-R compression algorithm in [MS-FRS2] section 3.1.1.1.

 HRESULT GetCompressedReport(
   [in] GUID replicationGroupGuid,
   [in] BSTR referenceMember,
   [in] BSTR serverName,
   [in] SAFEARRAY (_VersionVectorData)* referenceVersionVectors,
   [in] LONG flags,
   [out] SAFEARRAY (_VersionVectorData)* memberVersionVectors,
   [out] BSTR* reportCompressed,
   [out] LONG* uncompressedReportSize
 );

replicationGroupGuid: MUST be the identifier of the replication group for which the server gets health information. This field corresponds to the objectGUID field of the msDFSR-ReplicationGroup configuration object in Active Directory. The msDFSR-ReplicationGroup is specified in [MS-FRS2] section 2.3.5.

referenceMember: MUST be set to NULL.

serverName: This field is specified by the DFS-R Helper Protocol client as either a non-empty FQDN or NULL.

referenceVersionVectors: If the flags parameter has REPORTING_FLAGS_BACKLOG set, the set of version vectors for replicated folders on the reference member MUST be passed by using this parameter. Otherwise, this parameter MUST be set to NULL. The VersionVectorData structure is specified in section 2.2.1.4.

flags: MUST be zero or more combinations of values of DfsrReportingFlags enumeration. The DfsrReportingFlags enumeration is specified in section 2.2.1.2.

memberVersionVectors: If the flags parameter has REPORTING_FLAGS_BACKLOG set, the set of version vectors for the replicated folders on the server MUST be returned in this output parameter. The VersionVectorData structure is specified in section 2.2.1.4.

reportCompressed: The compressed report body in the XML format MUST be returned in this output parameter. The format of the XML MUST be the same as for the reportXML member of the GetReport method. This MUST be an encoded field whose format is specified by the DFS-R compression algorithm (as specified in [MS-FRS2] section 3.1.1.1.

uncompressedReportSize: The size, in bytes, of the uncompressed data returned in the reportCompressed parameter.

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 receiving this message, the server MUST create the GetReport message with the same input parameters and then process this message. The method's behavior MUST be exactly the same as defined in section 3.1.5.4.2, and the server MUST verify the following:

  • If the serverName field is an FQDN, the DFS-R Helper Protocol server MUST verify that the FQDN is a valid name on this server. If it is invalid or cannot be resolved the generated report MUST contain an error description.

  • If the serverName field is NULL, the generated report MUST contain the DFS-R Helper Protocol server's local DNS and NetBIOS names.