Click here to Skip to main content
15,896,269 members
Articles / Desktop Programming / MFC

The Ultimate Toolbox - Updates and User Contributions

Rate me:
Please Sign up or sign in to vote.
4.79/5 (26 votes)
12 Feb 2013CPOL8 min read 256.4K   23.7K   170  
Updates and User Contributions for the Ultimate Toolbox Libraries
// ==========================================================================
//						Class Specification : 
//						COXAdvancedAssertMail
// ==========================================================================

// Header file : OXAdvancedAssertMail.h

// Version: 9.3

// This software along with its related components, documentation and files ("The Libraries")
// is � 1994-2007 The Code Project (1612916 Ontario Limited) and use of The Libraries is
// governed by a software license agreement ("Agreement").  Copies of the Agreement are
// available at The Code Project (www.codeproject.com), as part of the package you downloaded
// to obtain this file, or directly from our office.  For a copy of the license governing
// this software, you may contact us at legalaffairs@codeproject.com, or by calling 416-849-8900.
                         

#ifndef __AdvancedAssertMail_h__
#define __AdvancedAssertMail_h__

// v9.3 - update 03 - 64-bit - TD
#include "UTB64Bit.h"	// needed for VC6 ULONG_PTR typedef

// If this is not a debug or a beta version, then don't use any of this code. 
#if defined(_DEBUG) || defined(BETA)   // entire file

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "OXDllExt.h"

#include <mapi.h>  // MapiMessage

/////////////////////////////////////////////////////////////////////////////
// COXAdvancedAssertMail

class OX_CLASS_DECL COXAdvancedAssertMail
#ifdef _WIN32
 : public CNoTrackObject
#endif
	{
	public:
		COXAdvancedAssertMail() ;
		virtual ~COXAdvancedAssertMail() ;
	
	public:
		BOOL    IsLoaded()        const ;
		BOOL    IsValidSendMail() const ;
		BOOL    LoadMapiLibrary() ;
		void    FreeMapiLibrary() ;
		
		ULONG   Logon   (ULONG ulUIParam, LPSTR lpszName, LPSTR lpszPassword, FLAGS flFlags, ULONG ulReserved) ;
		ULONG   Logoff  (ULONG ulUIParam, FLAGS flFlags, ULONG ulReserved) ;

		// v9.3 - update 03 - 64-bit - changed first param decl from ULONG to ULONG_PTR
		// to sync with existing fn definition in .cpp file TD
		ULONG   SendMail(ULONG_PTR ulUIParam, lpMapiMessage lpMessage, FLAGS flFlags, ULONG ulReserved) ;

	protected:
		HINSTANCE        m_hInstMail     ;      // handle to MAPI32.DLL
		LHANDLE          m_lhSession     ;
		ULONG   (PASCAL* m_lpfnMAPILogon   )(ULONG   ulUIParam, LPSTR lpszName, LPSTR lpszPassword, FLAGS flFlags, ULONG ulReserved, LPLHANDLE lplhSession) ;
		ULONG   (PASCAL* m_lpfnMAPILogoff  )(LHANDLE lhSession, ULONG ulUIParam, FLAGS flFlags, ULONG ulReserved) ;
		HRESULT (PASCAL* m_lpfnMAPISendMail)(LHANDLE lhSession, ULONG ulUIParam, lpMapiMessage lpMessage, FLAGS flFlags, ULONG ulReserved) ;
	} ;

#ifdef _WIN32
EXTERN_PROCESS_LOCAL(COXAdvancedAssertMail, appMailState)
#else
extern COXAdvancedAssertMail _appMailState ;
#endif

int SendMail      (LPCSTR pszTo, LPCSTR pszSubject, LPCSTR pszBody, LPCSTR pszAttachment=NULL) ;
int SendMailToBeta(              LPCSTR pszSubject, LPCSTR pszBody, LPCSTR pszAttachment=NULL) ;

#endif // _DEBUG || BETA

#endif // __AdvancedAssertMail_h__
/////////////////////////////////////////////////////////////////////////////

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Canada Canada
In January 2005, David Cunningham and Chris Maunder created TheUltimateToolbox.com, a new group dedicated to the continued development, support and growth of Dundas Software’s award winning line of MFC, C++ and ActiveX control products.

Ultimate Grid for MFC, Ultimate Toolbox for MFC, and Ultimate TCP/IP have been stalwarts of C++/MFC development for a decade. Thousands of developers have used these products to speed their time to market, improve the quality of their finished products, and enhance the reliability and flexibility of their software.
This is a Organisation

476 members

Comments and Discussions