39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
// BinHex.h: interface for the CBinHex class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_BINHEX_H__1B7F2A63_8878_11D2_B4C8_00C04F9914AB__INCLUDED_)
|
|
#define AFX_BINHEX_H__1B7F2A63_8878_11D2_B4C8_00C04F9914AB__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include <wtypes.h>
|
|
#include <oleauto.h>
|
|
|
|
#define BBAD (BYTE)-1
|
|
|
|
class CBinHex
|
|
{
|
|
public:
|
|
|
|
CBinHex();
|
|
|
|
// Prepend makes this a non-generic binhex, but oh well.
|
|
// If it's 0, nothing is prepended
|
|
static HRESULT ToBase64(LPVOID pv, UINT cbSize, char prepend, char ivecnpad[9], BSTR* pbstr);
|
|
static HRESULT ToBase64ASCII(LPVOID pv, UINT cbSize, char prepend, char ivecnpad[9], BSTR* pbstr);
|
|
|
|
HRESULT FromBase64(LPSTR lpStr, UINT cbSize, BSTR* pblob);
|
|
HRESULT FromWideBase64(BSTR bstr, BSTR* pblob);
|
|
|
|
HRESULT PartFromBase64(LPSTR lpStr, BYTE* output, ULONG *numOutBytes);
|
|
HRESULT PartFromWideBase64(LPWSTR bStr, BYTE* output, ULONG *numOutBytes);
|
|
|
|
protected:
|
|
BYTE m_decodeArray[256];
|
|
};
|
|
|
|
#endif // !defined(AFX_BINHEX_H__1B7F2A63_8878_11D2_B4C8_00C04F9914AB__INCLUDED_)
|