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.

82 lines
2.7 KiB

  1. #ifndef _INC_ACCTIMP
  2. #define _INC_ACCTIMP
  3. #include <ras.h>
  4. typedef struct tagIMPACCOUNTINFO
  5. {
  6. DWORD_PTR dwCookie;
  7. DWORD dwReserved;
  8. char szDisplay[CCHMAX_ACCOUNT_NAME];
  9. } IMPACCOUNTINFO;
  10. // {39981122-C287-11D0-8D8C-00C04FD6202B}
  11. DEFINE_GUID(IID_IEnumIMPACCOUNTS, 0x39981122L, 0xC287, 0x11D0, 0x8D, 0x8C, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B);
  12. interface IEnumIMPACCOUNTS : public IUnknown
  13. {
  14. public:
  15. virtual HRESULT STDMETHODCALLTYPE Next(IMPACCOUNTINFO *pinfo) = 0;
  16. virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0;
  17. };
  18. // {39981123-C287-11D0-8D8C-00C04FD6202B}
  19. DEFINE_GUID(IID_IAccountImport, 0x39981123L, 0xC287, 0x11D0, 0x8D, 0x8C, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B);
  20. interface IAccountImport : public IUnknown
  21. {
  22. public:
  23. virtual HRESULT STDMETHODCALLTYPE AutoDetect(DWORD *pcAcct, DWORD dwFlags) = 0;
  24. virtual HRESULT STDMETHODCALLTYPE EnumerateAccounts(IEnumIMPACCOUNTS **ppEnum) = 0;
  25. virtual HRESULT STDMETHODCALLTYPE GetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct) = 0;
  26. };
  27. // {6F5900A1-4683-11d1-83BB-00C04FBD7C09}
  28. DEFINE_GUID(IID_INewsGroupImport, 0x6f5900a1, 0x4683, 0x11d1, 0x83, 0xbb, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9);
  29. interface INewsGroupImport : public IUnknown
  30. {
  31. public:
  32. virtual HRESULT STDMETHODCALLTYPE Initialize(IImnAccount *pAccount) = 0;
  33. virtual HRESULT STDMETHODCALLTYPE ImportSubList(LPCSTR pListGroups) = 0;
  34. };
  35. // {83782E60-39C6-11d1-83B8-00C04FBD7C09}
  36. DEFINE_GUID(IID_IAccountImport2, 0x83782e60, 0x39c6, 0x11d1, 0x83, 0xb8, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9);
  37. // IMPCONNINFO connect values
  38. enum
  39. {
  40. CONN_NO_INFO = 0,
  41. CONN_USE_DEFAULT,
  42. CONN_USE_SETTINGS,
  43. CONN_CREATE_ENTRY
  44. };
  45. typedef struct tagIMPCONNINFO
  46. {
  47. DWORD cbSize;
  48. DWORD dwConnect;
  49. DWORD flags;
  50. // if connect == CONN_USE_SETTINGS
  51. DWORD dwConnectType; // CONNECTION_TYPE_ value
  52. char szConnectoid[CCHMAX_CONNECTOID]; // if CONNECTION_TYPE_RAS
  53. // if connect == CONN_CREATE_ENTRY
  54. // values used to create new phonebook entry used to connect this account
  55. DWORD dwCountryID;
  56. DWORD dwCountryCode;
  57. char szAreaCode[RAS_MaxAreaCode + 1];
  58. char szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
  59. } IMPCONNINFO;
  60. interface IAccountImport2 : public IUnknown
  61. {
  62. public:
  63. virtual HRESULT STDMETHODCALLTYPE InitializeImport(HWND hwnd, DWORD_PTR dwCookie) = 0;
  64. virtual HRESULT STDMETHODCALLTYPE GetNewsGroup(INewsGroupImport *pImp, DWORD dwReserved) = 0;
  65. virtual HRESULT STDMETHODCALLTYPE GetSettings2(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo) = 0;
  66. };
  67. #endif // _INC_ACCTIMP