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
-
pInData | [ in ] Specifies the data to be decrypted. |
inSize | [ in ] Size in bytes of the pInData array. |
pOutData | [ in ] Specifies where to place the decrypted data. |
pOutSize | [ in ] Size in bytes of the pOutData array. [ out ] Specifies the number of decrypted bytes written into pOutData. |
- Returns
Success | P6R::eOk | |
Failure | P6R::eNotInitialized | A successful call to initialize was not made before this call. |
P6R::eInvalidArg | One of the parameters is NULL. |
P6R::eInvalidState | A successful call to decryptStart() must be done before a call to this method. |
P6R::eFailAndException | The decryption calculation failed. Exception record provides detailed error info. |
P6R::eTooSmall | The pOutData buffer is too small to hold the decrypted result data. |