#ifndef _INC_ACCTIMP #define _INC_ACCTIMP #include typedef struct tagIMPACCOUNTINFO { DWORD_PTR dwCookie; DWORD dwReserved; char szDisplay[CCHMAX_ACCOUNT_NAME]; } IMPACCOUNTINFO; // {39981122-C287-11D0-8D8C-00C04FD6202B} DEFINE_GUID(IID_IEnumIMPACCOUNTS, 0x39981122L, 0xC287, 0x11D0, 0x8D, 0x8C, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B); interface IEnumIMPACCOUNTS : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next(IMPACCOUNTINFO *pinfo) = 0; virtual HRESULT STDMETHODCALLTYPE Reset(void) = 0; }; // {39981123-C287-11D0-8D8C-00C04FD6202B} DEFINE_GUID(IID_IAccountImport, 0x39981123L, 0xC287, 0x11D0, 0x8D, 0x8C, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B); interface IAccountImport : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE AutoDetect(DWORD *pcAcct, DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE EnumerateAccounts(IEnumIMPACCOUNTS **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE GetSettings(DWORD_PTR dwCookie, IImnAccount *pAcct) = 0; }; // {6F5900A1-4683-11d1-83BB-00C04FBD7C09} DEFINE_GUID(IID_INewsGroupImport, 0x6f5900a1, 0x4683, 0x11d1, 0x83, 0xbb, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9); interface INewsGroupImport : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize(IImnAccount *pAccount) = 0; virtual HRESULT STDMETHODCALLTYPE ImportSubList(LPCSTR pListGroups) = 0; }; // {83782E60-39C6-11d1-83B8-00C04FBD7C09} DEFINE_GUID(IID_IAccountImport2, 0x83782e60, 0x39c6, 0x11d1, 0x83, 0xb8, 0x0, 0xc0, 0x4f, 0xbd, 0x7c, 0x9); // IMPCONNINFO connect values enum { CONN_NO_INFO = 0, CONN_USE_DEFAULT, CONN_USE_SETTINGS, CONN_CREATE_ENTRY }; typedef struct tagIMPCONNINFO { DWORD cbSize; DWORD dwConnect; DWORD flags; // if connect == CONN_USE_SETTINGS DWORD dwConnectType; // CONNECTION_TYPE_ value char szConnectoid[CCHMAX_CONNECTOID]; // if CONNECTION_TYPE_RAS // if connect == CONN_CREATE_ENTRY // values used to create new phonebook entry used to connect this account DWORD dwCountryID; DWORD dwCountryCode; char szAreaCode[RAS_MaxAreaCode + 1]; char szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; } IMPCONNINFO; interface IAccountImport2 : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE InitializeImport(HWND hwnd, DWORD_PTR dwCookie) = 0; virtual HRESULT STDMETHODCALLTYPE GetNewsGroup(INewsGroupImport *pImp, DWORD dwReserved) = 0; virtual HRESULT STDMETHODCALLTYPE GetSettings2(DWORD_PTR dwCookie, IImnAccount *pAcct, IMPCONNINFO *pInfo) = 0; }; #endif // _INC_ACCTIMP