#include <CryptObjects.h>
Public Member Functions | |
BOOL | DecodeObject (const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwEncodingType=MY_ENCODING_TYPE, LPCSTR szStructType=defszStructType) |
decode an encoded representation of this object. Frees any existing object first. | |
BOOL | EncodeObject (CRYPT_DATA_BLOB *pBlob, DWORD dwEncodingType=MY_ENCODING_TYPE, LPCSTR szStructType=defszStructType) |
void | FreeObject () |
free the encapsulated object | |
DWORD | GetObjectSize () |
Return the size of the encapsulated object. | |
operator T * () | |
Extractor for the encapsulated object. | |
T * | operator-> () |
Extractor for the members of the encapsulated object. | |
CCryptObject () | |
Construct an empty object, suitable for DecodeObject usage. | |
~CCryptObject () | |
Tidy up any encapsulated object. | |
Protected Attributes | |
DWORD | m_objectSize |
T * | m_object |
Oh dear. Any pointer you pass in as a template argument has to have external linkage. This is sensible, but doesn't sit with those really weird (LPCSTR)2 definitions. So what I do is just pass the pointer in as a DWORD instead. Sigh. You figure out a better way.