6 #ifndef _INC_cASNWriterRev_H
7 #define _INC_cASNWriterRev_H
40 , m_pOutCur(pStart + nLen)
44 , m_pOutCur(const_cast<BYTE*>((BYTE*)m.get_DataEnd()))
50 ASSERT(this->IsValidPtr2(this->m_pOutCur));
51 return (
size_t)
cMem::Diff(this->m_pOutCur, this->get_DataBytes());
56 ASSERT(this->IsValidPtr2(this->m_pOutCur));
57 return (
size_t)
cMem::Diff(this->get_DataEnd(), m_pOutCur);
69 ASSERT(m_pOutCur >= get_DataBytes());
76 ASSERT(this->IsValidPtr(this->m_pOutCur));
81 HRESULT WriteRawData(
const void* pBuffer,
size_t size);
83 HRESULT WriteLengthCode(
size_t len);
89 HRESULT WriteTagBlock(
ASN_t nTag,
const void* pBuffer,
size_t nSizeBuffer);
91 HRESULT WriteTagBoolean(
bool bVal);
94 HRESULT WriteTagInt(
const BYTE* pData,
size_t nSize,
bool bNegativeOrNA);
97 HRESULT WriteTagOID(
const char* oid,
size_t oid_len);
105 HRESULT WriteTagArrayBytes(
const BYTE* pBuffer,
size_t size);
116 HRESULT WriteTagSeqAlg(
const char* oid,
size_t oid_len);
117 HRESULT WriteTagSeqAlg2(
const char* oid,
size_t oid_len, BYTE* pSig,
size_t size);
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define ASSERT(exp)
Definition: cDebugAssert.h:87
Definition: cASNSets.h:20
Definition: cASNSets.h:58
Definition: cASNWriterRev.h:22
cASNWriterRev(BYTE *pStart, size_t nLen)
Definition: cASNWriterRev.h:38
cASNWriterRev(cMemBlock &m)
Definition: cASNWriterRev.h:42
size_t get_LenLeft() const
Definition: cASNWriterRev.h:47
BYTE * m_pOutCur
current write position. Moves down.
Definition: cASNWriterRev.h:32
void WriteByteRaw(BYTE b)
Definition: cASNWriterRev.h:72
size_t get_LenWritten() const
Definition: cASNWriterRev.h:53
void AddOut(size_t nSize)
Definition: cASNWriterRev.h:66
BYTE * get_OutPtr() const
Definition: cASNWriterRev.h:60
Definition: cBitArray.h:416
< similar to the MFC CTime and cTimeSpan, not as accurate or large ranged as COleDateTime
Definition: cTimeInt.h:101
Definition: cTimeUnits.h:146
BYTE ASN_t
Definition: cASN.h:75
TZ_TYPE
Definition: cTimeUnits.h:29
@ TZ_LOCAL
just use local time zone. might include DST ??
Definition: cTimeUnits.h:44
const StrLen_t k_StrLen_UNK
use the default/current length of the string argument.
Definition: StrConst.h:34
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
unsigned int BIT_ENUM_t
Enumerate number of bits or address a single bit in some array of bits.
Definition: cBits.h:20
static ptrdiff_t Diff(const void *pEnd, const void *pStart) noexcept
Definition: cMem.h:34