2.2.1.4.11 FRS_RDC_FILEINFO

File information specific to RDC downloads.

 typedef struct _FRS_RDC_FILEINFO {
   DWORDLONG onDiskFileSize;
   DWORDLONG fileSizeEstimate;
   unsigned short rdcVersion;
   unsigned short rdcMinimumCompatibleVersion;
   [range(0, CONFIG_RDC_MAX_LEVELS)] 
     byte rdcSignatureLevels;
   RDC_FILE_COMPRESSION_TYPES compressionAlgorithm;
   [size_is(rdcSignatureLevels)] FRS_RDC_PARAMETERS rdcFilterParameters[*];
 } FRS_RDC_FILEINFO;

onDiskFileSize: An estimate for the on-disk, compressed, marshaled source file. The server SHOULD make this estimate as accurate as possible, but the protocol does not require that it be exact.<5>

fileSizeEstimate: An estimate for the on-disk, uncompressed, unmarshaled source file. The server SHOULD make this estimate as accurate as possible, but the protocol does not require that it be exact.<6>

rdcVersion: The current RDC version. It MUST be CONFIG_RDC_VERSION.

rdcMinimumCompatibleVersion: The minimum version of the client-side RDC that is compatible with the server-side RDC (rdcVersion). It MUST be CONFIG_RDC_VERSION_COMPATIBLE.

rdcSignatureLevels: The depth of the RDC signatures that are available for the client to retrieve. The server MUST allow the client to get signatures at least to this depth (using RdcGetSignatures (section 3.2.4.1.10)).<7>

A value of 0 indicates that the file to be served is not suitable for the RDC protocol, or a non-RDC file transfer is required.

compressionAlgorithm: This field MUST be set to RDC_UNCOMPRESSED and MUST be ignored on receipt. Despite the name of this field, data compression is always used as specified in section 3.2.4.1.14.

rdcFilterParameters: The array of RDC chunker parameters used, one each for the levels of RDC signatures that are available.