IRdcComparator::Process method

The Process method compares two signature streams (seed and source) and produces a needs list, which describes the chunks of file data needed to create the target file. The seed signature file may be read multiple times, depending on the size of the source signature file.


HRESULT Process(
  BOOL             endOfInput,
  BOOL             *endOfOutput,
  RdcBufferPointer *inputBuffer,
  RdcNeedPointer   *outputBuffer,
  RDC_ErrorCode    *rdc_ErrorCode



Set to TRUE if the inputBuffer parameter contains all remaining input.


Address of a BOOL that on successful completion is set to TRUE if all output data has been generated.


Address of a RdcBufferPointer structure containing information about the input buffer. The m_Used member of this structure is used to indicate how much input, if any, was processed during this call.


Address of a RdcNeedPointer structure containing information about the output buffer. On input the m_Size member of this structure must contain the number of RdcNeed structures in the array pointed to by the m_Data member, and the m_Used member must be zero. On output the m_Used member will contain the number of RdcNeed structures in the array pointed to by the m_Data member.


The address of a RDC_ErrorCode enumeration that is filled with an RDC specific error code if the return value from the Process method is E_FAIL. If this value is RDC_Win32ErrorCode, then the return value of the Process method contains the specific error code.

Return Value

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.


On successful return, iterate through each RdcNeed structure returned in the array pointed to by the m_Data member of the outputBuffer parameter, and copy the specified chunk of the source or seed data to the target data.


Windows version Windows Vista Windows Server 2008
Target Platform Windows
Header msrdc.h
DLL MsRdc.dll

See Also