windows-nt/Source/XPSP1/NT/ds/security/passport/include/binhex.h
2020-09-26 16:20:57 +08:00

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_)