home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
msdn_vcb
/
samples
/
vc98
/
sdk
/
dbmsg
/
mapi
/
peer.xp
/
xptxtmsg.h
< prev
Wrap
C/C++ Source or Header
|
1996-04-11
|
3KB
|
89 lines
/*
- X P T X T M S G . H
-
* Purpose:
* Support for the textized TNEF encapsulated message transport.
*
* Copyright 1992-1995 Microsoft Corporation. All Rights Reserved.
*/
/* Stuff to support the textized message formating */
enum
{
tagMessage,
tagFrom,
tagRepresenting,
tagReplyTo,
tagDate,
tagTo,
tagCc,
tagBcc,
tagSubject,
tagPrioUrgent,
tagPrioNormal,
tagPrioLow,
tagContents,
tagTextItem,
tagFileItem,
NUM_TAGS
};
#define MAX_TAG_LEN 32
#define MAX_TXTMSG_PROPS 17
#define MAX_STRM_BUF 256
#define MAX_LINE 256
/* Macro to DebugTrace failures from a Read/Write calls */
#define TraceFailedRead(_a, _b) \
hr = (_a); \
if(HR_FAILED(hr)) \
{ \
DebugTraceResult(Read(), hr); \
goto _b; \
}
#define TraceFailedWrite(_a, _b) \
hr = (_a); \
if(HR_FAILED(hr)) \
{ \
DebugTraceResult(Write(), hr); \
goto _b; \
}
/* All extern variables are declared in xpqueue.c */
extern TCHAR rgszTags[NUM_TAGS][MAX_TAG_LEN];
extern TCHAR szCRLF[3];
extern TCHAR szCRLFCRLF[5];
/* Function Prototypes */
HRESULT HrGetLine(LPSTREAM lpSof, ULONG cbDest, LPTSTR lpsz, ULONG *pcbRead);
HRESULT HrBuildSenderProps(LPXPL lpxpl, LPSPropValue lpPropArray, ULONG ulTag,
LPTSTR lpszToken, LPTSTR lpszAddrType, LPMESSAGE lpMessage,
ULONG * lpcValues, LPSPropValue lpMsgProps);
HRESULT HrGetStreamedProp(LPXPL lpxpl, LPSTREAM lpSof, LPMESSAGE lpMsg,
ULONG ulPropTag, ULONG * lpcValues, LPSPropValue lpMsgProps,
LPTSTR lpszLine, ULONG * lpulTag, LPTSTR * lppszToken);
HRESULT HrAddRecipToAdrList(LPXPL lpxpl, LONG lRecipType,
LPTSTR lpszNameAddr, LPTSTR lpszAddrType, LPMYADRLIST lpMyAdrList);
HRESULT HrAddRecipToReplyList(LPXPL lpxpl, LPTSTR lpszToken, LPTSTR lpszAddrType,
LPTSTR *lppszNames, ULONG *lpcbEIDList, LPFLATENTRYLIST *lppEIDList);
HRESULT HrCrackSenderEID(LPXPL lpxpl, ULONG cb, LPBYTE lpb, LPTSTR lpsz);
HRESULT HrMakeSearchKey(LPXPL lpxpl, LPVOID lpParent, LPTSTR lpszAddrType,
LPTSTR lpszAddress, ULONG *lpcbSK, LPBYTE *lppSK);
BOOL FGetTagAndToken(LPTSTR lpsz, ULONG *pulTag, LPTSTR *lppszToken);
void FileTimeFromSzTime(LPTSTR lpszTime, FILETIME *pft);
HRESULT HrPrepareRecipientTable(LPSPropValue, LPMESSAGE, LPMAPITABLE *);
BOOL FPropIndex(LPSPropValue, ULONG, ULONG, ULONG *);
void FormatFileTime(FILETIME *, LPTSTR);
HRESULT HrIMsgToTextMsg(LPXPL lpxpl, LPSPropValue lpPropArray, LPMESSAGE lpMessage, LPSTREAM lpSof);
HRESULT HrIMsgFromTextMsg(LPXPL lpxpl, LPSPropValue lpPropArray, LPMESSAGE lpMessage, LPSTREAM lpSof);