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