#ifndef _INC_ICWACCT_H #define _INC_ICWACCT_H #include "icwcmn.h" #ifndef MAC #ifndef APPRENTICE_DEF #define APPRENTICE_DEF #define EXTERNAL_DIALOGID_MINIMUM 2000 #define EXTERNAL_DIALOGID_MAXIMUM 3000 typedef enum { CANCEL_PROMPT = 0, CANCEL_SILENT, CANCEL_REBOOT } CANCELTYPE; #endif // {796AD8F0-B2B7-11d0-8D69-00A0C9A06E1F} DEFINE_GUID(IID_IICWExtension, 0x796ad8f0, 0xb2b7, 0x11d0, 0x8d, 0x69, 0x0, 0xa0, 0xc9, 0xa0, 0x6e, 0x1f); interface IICWExtension : public IUnknown { public: virtual BOOL STDMETHODCALLTYPE AddExternalPage(HPROPSHEETPAGE hPage, UINT uDlgID) = 0; virtual BOOL STDMETHODCALLTYPE RemoveExternalPage(HPROPSHEETPAGE hPage, UINT uDlgID) = 0; virtual BOOL STDMETHODCALLTYPE ExternalCancel(CANCELTYPE type) = 0; virtual BOOL STDMETHODCALLTYPE SetFirstLastPage(UINT uFirstPageDlgID, UINT uLastPageDlgID) = 0; }; typedef enum { CONNECT_LAN = 0, CONNECT_MANUAL, CONNECT_RAS }; typedef struct tagCONNECTINFO { DWORD cbSize; DWORD type; char szConnectoid[MAX_PATH]; } CONNECTINFO; // IICWApprentice::Save error values #define ERR_MAIL_ACCT 0x0001 #define ERR_NEWS_ACCT 0x0002 #define ERR_DIRSERV_ACCT 0x0004 // IICWApprentice::AddWizardPages flags #define WIZ_NO_MAIL_ACCT 0x0001 #define WIZ_NO_NEWS_ACCT 0x0002 #define WIZ_NO_LDAP_ACCT 0x0004 #define WIZ_USE_WIZARD97 0x0008 #define WIZ_HOST_ICW_LAN 0x0010 #define WIZ_HOST_ICW_PHONE 0x0020 #define WIZ_HOST_ICW_MPHONE 0x0040 // Show multi modem page id necessary // {1438E820-B6D2-11D0-8D86-00C04FD6202B} DEFINE_GUID(IID_IICWApprentice, 0x1438E820L, 0xB6D2, 0x11D0, 0x8D, 0x86, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B); interface IICWApprentice : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize(IICWExtension *pExt) = 0; virtual HRESULT STDMETHODCALLTYPE AddWizardPages(DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetConnectionInformation(CONNECTINFO *pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE SetConnectionInformation(CONNECTINFO *pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE Save(HWND hwnd, DWORD *pdwError) = 0; virtual HRESULT STDMETHODCALLTYPE SetPrevNextPage(UINT uPrevPageDlgID, UINT uNextPageDlgID) = 0; }; // {ced77e0e-53d7-11d2-9ab6-00a0c9b81d84} DEFINE_GUID(IID_IICWApprenticeEx, 0xced77e0e, 0x53d7, 0x11d2, 0x9A, 0xB6, 0x00, 0xA0, 0xC9, 0xB8, 0x1D, 0x84); interface IICWApprenticeEx : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize (IICWExtension *pExt) = 0; virtual HRESULT STDMETHODCALLTYPE AddWizardPages (DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetConnectionInformation (CONNECTINFO *pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE SetDlgHwnd (HWND hDlg) = 0; virtual HRESULT STDMETHODCALLTYPE SetConnectionInformation (CONNECTINFO *pInfo) = 0; virtual HRESULT STDMETHODCALLTYPE Save (HWND hwnd, DWORD *pdwError) = 0; virtual HRESULT STDMETHODCALLTYPE SetPrevNextPage (UINT uPrevPageDlgID, UINT uNextPageDlgID) = 0; virtual HRESULT STDMETHODCALLTYPE ProcessCustomFlags (DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE SetStateDataFromExeToDll (LPCMNSTATEDATA lpData) = 0; virtual HRESULT STDMETHODCALLTYPE SetStateDataFromDllToExe (LPCMNSTATEDATA lpData) = 0; }; // Athena's CLSID // {1438E821-B6D2-11D0-8D86-00C04FD6202B} DEFINE_GUID(CLSID_ApprenticeAcctMgr, 0x1438E821L, 0xB6D2, 0x11D0, 0x8D, 0x86, 0x00, 0xC0, 0x4F, 0xD6, 0x20, 0x2B); //ICW's CLSID // {8EE42293-C315-11d0-8D6F-00A0C9A06E1F} DEFINE_GUID(CLSID_ApprenticeICW, 0x8ee42293L, 0xc315, 0x11d0, 0x8d, 0x6f, 0x0, 0xa0, 0xc9, 0xa0, 0x6e, 0x1f); HRESULT WINAPI CreateAccountsFromFile(LPSTR lpFile, DWORD dwFlags); HRESULT WINAPI CreateAccountsFromFileEx(LPSTR lpFile, CONNECTINFO *pci, DWORD dwFlags); #endif // !MAC #endif // _INC_ICWACCT_H