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.

84 lines
2.7 KiB

  1. // File: wabutil.h
  2. #ifndef _WABUTIL_H_
  3. #define _WABUTIL_H_
  4. #include "wabdefs.h"
  5. #include "wabapi.h"
  6. ///////////////////////////////////////
  7. // NetMeeting named prop IDs in the WAB
  8. // DEFINE_OLEGUID(PS_Conferencing, 0x00062004, 0, 0);
  9. #define PR_SERVERS 0x8056
  10. #define CONF_DEFAULT_INDEX 0x8057
  11. #define CONF_BACKUP_INDEX 0x8058
  12. #define CONF_EMAIL_INDEX 0x8059
  13. #define PR_NM_ADDRESS PROP_TAG(PT_MV_STRING8, PR_SERVERS)
  14. #define PR_NM_DEFAULT PROP_TAG(PT_LONG, CONF_DEFAULT_INDEX)
  15. #define PR_NM_BACKUP PROP_TAG(PT_LONG, CONF_BACKUP_INDEX)
  16. // CLSID_ConferenceManager (see confguid.h)
  17. #define NM_TAG_MASK 0x0800
  18. #define CONF_CATEGORY 0x8800
  19. #define CONF_CTRYCODE 0x8801
  20. #define PR_NM_CATEGORY PROP_TAG(PT_LONG, CONF_CATEGORY)
  21. class CWABUTIL
  22. {
  23. private:
  24. BOOL m_fTranslatedTags; // TRUE after GetNamedPropsTags succeeds
  25. public:
  26. CWABUTIL();
  27. ~CWABUTIL();
  28. // It's just easier if everything is public
  29. LPADRBOOK m_pAdrBook;
  30. LPWABOBJECT m_pWabObject;
  31. LPABCONT m_pContainer;
  32. LPSPropTagArray m_pPropTags; // Translated tags
  33. LPSPropTagArray GetTags() {return m_pPropTags;}
  34. ULONG Get_PR_NM_ADDRESS();
  35. ULONG Get_PR_NM_DEFAULT();
  36. ULONG Get_PR_NM_CATEGORY();
  37. LPCTSTR PszSkipCallTo(LPCTSTR psz);
  38. BOOL FCreateCallToSz(LPCTSTR pszServer, LPCTSTR pszEmail, LPTSTR pszCallTo, UINT cchMax);
  39. VOID FreeProws(LPSRowSet prows);
  40. HRESULT GetContainer(void);
  41. HRESULT EnsurePropTags(void);
  42. HRESULT EnsurePropTags(LPMAPIPROP pMapiProp);
  43. HRESULT GetNamedPropsTag(LPMAPIPROP pMapiProp, LPSPropTagArray pProps);
  44. HRESULT HrGetWABTemplateID(ULONG * lpcbEID, LPENTRYID * lppEID);
  45. HRESULT CreateNewEntry(HWND hwndParent, ULONG cProps, SPropValue * pProps);
  46. HRESULT _CreateWabEntry(HWND hwndParent,
  47. LPCTSTR pszDisplay, LPCTSTR pszFirst, LPCTSTR pszLast, LPCTSTR pcszEmail,
  48. LPCTSTR pszLocation, LPCTSTR pszPhoneNum, LPCTSTR pcszComments, LPCTSTR pcszCallTo);
  49. HRESULT CreateWabEntry(HWND hwndParent,
  50. LPCTSTR pszDisplay, LPCTSTR pszFirst, LPCTSTR pszLast, LPCTSTR pcszEmail,
  51. LPCTSTR pszLocation, LPCTSTR pszPhoneNum, LPCTSTR pcszComments, LPCTSTR pcszServer);
  52. HRESULT CreateWabEntry(HWND hwndParent,
  53. LPCTSTR pszDisplay, LPCTSTR pszEmail,
  54. LPCTSTR pszLocation, LPCTSTR pszPhoneNum, LPCTSTR pszULSAddress);
  55. };
  56. // This is used for the ptaEid and m_pPropTags data
  57. enum {
  58. ieidPR_ENTRYID = 0, // Unique Entry ID
  59. ieidPR_DISPLAY_NAME, // Display Name
  60. ieidPR_NM_ADDRESS, // MVsz (array of "callto://server/email")
  61. ieidPR_NM_DEFAULT, // Default Index into MVsz
  62. ieidPR_NM_CATEGORY, // User Category/Rating (Personal=1, Business=2, Adult=4)
  63. ieidMax
  64. };
  65. #endif /* _WABUTIL_H_ */