Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
virtual P6R::P6ERR P6R::p6IDigest2::digestEnd ( P6UCHAR pDigest,
P6UINT32 pDigestSize 
)
pure virtual

The digestStart(), digestContinue(), and digestEnd() methods comprise a streaming digest interface.

A streaming interface allows the caller to add blocks of data one at a time and does not require all the entire message be contained in a single buffer in order to generate a digest. The digestContinue() method can be called multiple times, one for each block of data to be included in the digest while the digestStart() and digestEnd() are only called once.

Even after all data to be included in a digest has been input via the digestContinue() method the final digest over all the given data is returned by this method.

Parameters
pDigest[ in ] Specifies where to place the digest.
pDigestSize[ in ] Size in bytes of the pOutData array. [ out ] Specifies the number of bytes written into pOutData.
Returns
SuccessP6R::eOk 
FailureP6R::eNotInitializedA successful call to initialize was not made before this call.
P6R::eInvalidArgOne of the parameters is NULL.
P6R::eInvalidStateA successful call to digestStart() must be done before a call to this method.
P6R::eFailAndExceptionThe digest calculation failed. Exception record provides detailed error info.
P6R::eTooSmallThe pDigest buffer is too small to hold the digest result.