Leaked source code of windows server 2003
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.
 
 
 
 
 
 

94 lines
2.5 KiB

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
mapiabobj.h
Abstract:
Class definition for CWabObj
Environment:
Fax send wizard
Revision History:
10/23/97 -georgeje-
Created it.
mm/dd/yy -author-
description
--*/
#ifndef __MAPIABOBJ_H_
#define __MAPIABOBJ_H_
#include "abobj.h"
#define MAX_PROFILE_NAME (64)
extern "C"
{
typedef HRESULT(STDAPICALLTYPE * LPHrQueryAllRows) (LPMAPITABLE lpTable,
LPSPropTagArray lpPropTags,
LPSRestriction lpRestriction,
LPSSortOrderSet lpSortOrderSet,
LONG crowsMax,
LPSRowSet FAR *lppRows);
}
class CMAPIabObj : public CCommonAbObj{
private:
static HINSTANCE m_hInstMapi;
static LPMAPISESSION m_lpMapiSession;
static LPMAPILOGONEX m_lpfnMAPILogonEx;
static LPMAPILOGOFF m_lpfnMAPILogoff;
static LPMAPIADDRESS m_lpfnMAPIAddress;
static LPMAPIFREEBUFFER m_lpfnMAPIFreeBuffer;
static LPMAPIINITIALIZE m_lpfnMAPIInitialize;
static LPMAPIUNINITIALIZE m_lpfnMAPIUninitialize;
static LPMAPIALLOCATEBUFFER m_lpfnMAPIAllocateBuffer;
static LPMAPIALLOCATEMORE m_lpfnMAPIAllocateMore;
static LPMAPIADMINPROFILES m_lpfnMAPIAdminProfiles;
static LPHrQueryAllRows m_lpfnHrQueryAllRows;
static BOOL m_Initialized;
IMsgStore * m_lpIMsgStore; // Used to keep a referent to the exchange store
// to work around a bug in office 2000. The bug causes
// store to be released by the address book when in offline mode.
// overloaded virual functions
virtual eABType GetABType() { return AB_MAPI; };
HRESULT ABAllocateBuffer(ULONG cbSize,
LPVOID FAR * lppBuffer);
// internal implementation
BOOL DoMapiLogon(HWND hDlg);
BOOL InitMapiService(HWND hDlg);
VOID DeinitMapiService(VOID);
BOOL GetDefaultMapiProfile(LPSTR,UINT);
VOID FreeProws(LPSRowSet prows);
BOOL OpenExchangeStore();
public:
CMAPIabObj(HINSTANCE hInstance,HWND hDlg);
~CMAPIabObj();
BOOL isInitialized() const { return m_Initialized; }
ULONG ABFreeBuffer(LPVOID lpBuffer) ;
} ;
#endif