You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.1 KiB
68 lines
2.1 KiB
//-----------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// File: dcontext.h
|
|
//
|
|
// Description: Defines stucture referenced by delilvery context HANDLE
|
|
// (as returned by HrGetNextMessage). This should only be used inside
|
|
// the CMT.
|
|
//
|
|
// Author: mikeswa
|
|
//
|
|
// Copyright (C) 1997 Microsoft Corporation
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef _DCONTEXT_H_
|
|
#define _DCONTEXT_H_
|
|
|
|
#include "bitmap.h"
|
|
#include "aqueue.h"
|
|
|
|
class CMsgRef;
|
|
class CDestMsgRetryQueue;
|
|
|
|
#define DELIVERY_CONTEXT_SIG 'txtC'
|
|
#define DELIVERY_CONTEXT_FREE 'txt!'
|
|
|
|
//---[ CDeliveryContext ]------------------------------------------------------
|
|
//
|
|
//
|
|
// Description:
|
|
// Context that is used to Ack message after local/remote delivery. The
|
|
// memory for this class is either allocated with the connection object
|
|
// or on the stack for local delivery.
|
|
// Hungarian:
|
|
//
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
class CDeliveryContext
|
|
{
|
|
public:
|
|
CDeliveryContext();
|
|
CDeliveryContext(CMsgRef *pmsgref, CMsgBitMap *pmbmap, DWORD cRecips,
|
|
DWORD *rgdwRecips, DWORD dwStartDomain, CDestMsgRetryQueue *pdmrq);
|
|
~CDeliveryContext();
|
|
|
|
HRESULT HrAckMessage(IN MessageAck *pMsgAck);
|
|
|
|
void Init(CMsgRef *pmsgref, CMsgBitMap *pmbmap, DWORD cRecips,
|
|
DWORD *rgdwRecips, DWORD dwStartDomain, CDestMsgRetryQueue *pdmrq);
|
|
void Recycle();
|
|
BOOL FVerifyHandle(IMailMsgProperties *pIMailMsgPropeties);
|
|
|
|
CDestMsgRetryQueue *pdmrqGetDMRQ() {return m_pdmrq;};
|
|
private:
|
|
friend class CMsgRef;
|
|
DWORD m_dwSignature;
|
|
CMsgRef *m_pmsgref; //MsgRef for this context
|
|
CMsgBitMap *m_pmbmap; //Bitmap of domains that delivery was attempted for
|
|
DWORD m_cRecips; //Number of recips to deliver to
|
|
DWORD *m_rgdwRecips; //Array of recip indexes
|
|
DWORD m_dwStartDomain; //First domain delivered to
|
|
|
|
//Retry interface for this delivey attempt
|
|
CDestMsgRetryQueue *m_pdmrq;
|
|
};
|
|
|
|
#endif //_DCONTEXT_H_
|