Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

237 lines
5.1 KiB

/*
* ADDRBOOK.H
*/
#define cchABTextMax 100
typedef struct _ctxmnudata
{
HWND hwndDlg;
HWND hwndListbox;
BOOL fAddToPAB;
BOOL fDelete;
} CTXMNUDATA;
typedef struct _combostuff
{
HWND hwndDirectory;
ULONG cbEid;
LPENTRYID peid;
LPSRowSet prwsDirectory;
BOOL fSearchResultsDisplayed;
BOOL fSearchResultsAround;
LPBYTE lpSearchResultsEntry;
ULONG ulNtf;
LPMAPITABLE pmt;
LPADRBOOK pab;
LRESULT iCurSel;
#ifndef CHICAGO
INT cx;
INT cyMax;
#endif
} COMBOSTUFF;
typedef struct _abvlbcbc
{
IVlbCallback vc;
ULONG cRefs;
HWND hwndVLB;
HWND hwndSendChar;
TCHAR rgchLastSearch[cchABTextMax];
BOOKMARK bmkLastSearch;
ULONG * pcmp;
ULONG ** prgimp;
} ABVLBCBC;
typedef struct _addrbookdata
{
HRESULT hr;
LPMAPIERROR * ppme;
COMBOSTUFF cs; // this must have an identical offset
// in _newentrydata
LPADRPARM pap;
LPMAPISESSION pses;
LPADRLIST * ppal;
ULONG cDestFields;
HWND hwndDlg;
HWND hwndParent;
HWND hwndDetails;
HWND hwndRecipOptions;
HWND hwndNewEntry;
HWND hwndOK;
HWND hwndListbox;
HWND hwndName;
HWND rghwndEdit[3];
HWND rghwndButton[3];
HWND hwndHadFocus;
ULONG iDefaultButton;
ULONG cListboxSelection;
BOOL fViewingPAB;
BOOL fSearchIsOnPAB;
BOOL fAddressOne;
BOOL fABModifiable;
BOOL fSearchResultsABCModifiable;
BOOL fPABExists;
BOOL fThingsChanged;
BOOL fPleaseDontRecurse;
BOOL fSearchOnlyAB;
LPABCONT pabcOpen;
LPABCONT pabcSearchResults;
ULONG cmpListbox;
ULONG * rgimpListbox;
ULONG * pulDestComps;
LPMAPITABLE pmtListbox; // NOT ref counted
LPMAPITABLE pmtSearchResults;
LPSRestriction prestSearch;
LPTSTR * pszDestTitles;
LPTSTR rgszDestTitles[3];
TCHAR rgchTo[10]; //$ NYI - use constant
TCHAR rgchCc[10]; //$ NYI - use constant
TCHAR rgchBcc[10]; //$ NYI - use constant
CTXMNUDATA cmd;
LPMAPITABLE pmtSMT;
INT idsSMT;
WORD cxRecipientButtons;
LPFNHROPENENTRY pfnHrOpenEntry;
ABVLBCBC * pabvlbcbc;
UINT idTimer;
// Modeless AB specific data
EXTEN exten;
HMENU rghmenuMniMap[chmenuMniMap];
LPEXCHEXTCALLBACK peecb;
BOOL fExtenInit;
BOOL fModelessCreateComplete;
BOOL fToolbarShown;
HWND hwndToolbar;
HMENU hmenuDlg;
HACCEL haccel;
LPMAPIERROR pme;
DWORD dwEndisCookie;
UINT mni;
} ADDRBOOKDATA;
typedef struct _newentrydata
{
HRESULT hr;
LPMAPIERROR * ppme;
COMBOSTUFF cs; // this must have an identical offset
// in _addrbookdata
ERRCTX errctx;
ADDRBOOKDATA * pabd;
HWND hwndDlg;
HWND hwndListbox;
HWND hwndOK;
LPMAPITABLE pmtSMT;
LPABCONT pabcOpen;
LPMAPIPROP pmp;
LPTSTR szNewEntry;
ULONG cbEidContainer;
LPENTRYID peidContainer; // a useful test if we were called
// from the NewEntry API is existence
BOOL fOneTime;
BOOL fOKEnabled;
BOOL fDontCenter;
} NEWENTRYDATA;
#define dtretPrev 0x0001
#define dtretNext 0x0002
typedef struct _detailsdata
{
HRESULT hr;
LPMAPIERROR * ppme;
LPADRBOOK pab;
ULONG ulUIParam;
LPFNDISMISS lpfndismiss;
LPVOID lpvDismissContext;
BOOL fModeless;
ULONG cbEid;
LPENTRYID peid;
LPFNBUTTON lpfnCustom;
LPVOID lpvButtonContext;
LPTSTR szCustomText;
LPTSTR szDisplayName;
LONG lDisplayType;
HANDLE h;
HWND hwndHadFocus;
BOOL fNextPrevVisible;
BOOL fNext;
BOOL fPrev;
BOOL fShowAddToPAB;
BOOL fNameAdded;
BOOL fPleaseAddName;
LPMAPIPROP pmp;
ADDRBOOKDATA * pabd;
ULONG dtret;
UINT nPage;
LPFNHROPENENTRY pfnHrOpenEntry;
} DETAILSDATA;
#define cchButtonBuffer 40
#define cchCaptionBuffer 80
typedef struct _chknamesdata
{
HRESULT hr;
LPMAPIERROR * ppme;
LPADRBOOK pab;
LPTSTR szNewEntryTitle;
TCHAR rgchChange[cchButtonBuffer];
TCHAR rgchDelete[cchButtonBuffer];
TCHAR rgchClose[cchButtonBuffer];
TCHAR rgchNotInAB[cchCaptionBuffer];
TCHAR rgchTooMany[cchCaptionBuffer];
TCHAR rgchCaption[cchCaptionBuffer];
ULONG cmpListbox;
ULONG * rgimpListbox;
HWND hwndDlg;
HWND hwndListbox;
HWND hwndChange;
HWND hwndCancel;
HWND hwndChooseName;
HWND hwndDetails;
HWND hwndResolved;
HWND hwndUnresolved;
HWND hwndUnresolvedText;
LPFNHRFINDNAME lpfnhrfindname;
LPVOID * ppDontTouch;
LPADRLIST pal;
LPADRLIST palChoosen;
ULONG ulFlags;
LONG iae;
BOOL fDelete;
BOOL fChoosen;
CTXMNUDATA cmd;
LPMAPITABLE pmtSMT;
INT idsSMT;
LPFNHROPENENTRY pfnHrOpenEntry;
} CHKNAMESDATA;
LRESULT CALLBACK FilterWndProc(HWND hwnd, UINT wm,
WPARAM wparam, LPARAM lparam);
BOOL CALLBACK FAddrbookProc(HWND hwndDlg, UINT wm,
WPARAM wparam, LPARAM lparam);
BOOL CALLBACK FModelessProc(HWND hwndDlg, UINT wm,
WPARAM wparam, LPARAM lparam);
VOID DisplayDetailsDialog(DETAILSDATA * pdtd);
BOOL CALLBACK FChkNamesProc(HWND hwndDlg, UINT wm,
WPARAM wparam, LPARAM lparam);
BOOL CALLBACK FNewEntryProc(HWND hwndDlg, UINT wm,
WPARAM wparam, LPARAM lparam);
VOID GetTheError(HRESULT hr, LPMAPIERROR * ppme, LPMAPIUNK pmunk);
#define GetTheErrorObj(_hr, _ppme, _pmunk) \
GetTheError((_hr), (_ppme), (LPMAPIUNK) (_pmunk))
VOID DisplayTheError(HRESULT hr, LPMAPIERROR * ppme);