Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
virtual P6R::P6ERR P6R::p6ISymmetricCrypto::decryptStart ( const P6UCHAR pIV,
P6INT32  cIV 
)
pure virtual

The decryptStart(), decryptContinue(), and decryptEnd() methods comprise a streaming decryption interface.

A streaming interface allows the caller to decrypt blocks of data at a time and does not require all the entire encrypted message be contained in a single buffer in order to perform decryption. The decryptContinue() method can be called multiple times, one for each block of data to be decrypted while the decryptStart() and decryptEnd() are only called once.

Parameters
pIV[ in ] The initialization vector typically used with the very first block of data to decrypt
cIV[ in ] The number of bytes in the pIV array.
Returns
SuccessP6R::eOk 
FailureP6R::eNotInitializedA successful call to initialize was not made before this call.
P6R::eFormatErrorloadSymetricKey has not been successfully invoked.
P6R::eInvalidArgOne of the parameters is NULL.
P6R::eInvalidDescriptorThe requested cipher and key size is not supported.
P6R::eInvalidStateFor every call to decryptStart() there must be a matching call to decryptEnd().
P6R::eFailAndExceptionThe decryption calculation failed. Exception record provides detailed error info.