mirror of https://github.com/tongzx/nt5src
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.
64 lines
2.9 KiB
64 lines
2.9 KiB
/*****************************************************************************
|
|
* account.h
|
|
*****************************************************************************/
|
|
|
|
#ifndef _ACCOUNT_H
|
|
#define _ACCOUNT_H
|
|
|
|
|
|
/*****************************************************************************\
|
|
CLASS: CAccounts
|
|
\*****************************************************************************/
|
|
|
|
#define LOGINFLAGS_DEFAULT 0x00000000 // Default to Anonymous when dialog is displayed
|
|
#define LOGINFLAGS_ANON_ISDEFAULT 0x00000001 // Default to Anonymous when dialog is displayed
|
|
#define LOGINFLAGS_ANON_LOGINJUSTFAILED 0x00000002 // The attempt to login anonymously just failed
|
|
#define LOGINFLAGS_USER_LOGINJUSTFAILED 0x00000004 // The attempt to login as a user just failed
|
|
|
|
|
|
class CAccounts
|
|
{
|
|
public:
|
|
CAccounts();
|
|
~CAccounts();
|
|
|
|
// Public Member Functions
|
|
HRESULT DisplayLoginDialog(HWND hwnd, DWORD dwLoginFlags, LPCTSTR pszServer, LPTSTR pszUserName, DWORD cchUserNameSize, LPTSTR pszPassword, DWORD cchPasswordSize);
|
|
|
|
HRESULT GetUserName(LPCTSTR pszServer, LPTSTR pszUserName, DWORD cchUserName);
|
|
HRESULT GetPassword(LPCTSTR pszServer, LPCTSTR pszUserName, LPTSTR pszPassword, DWORD cchPassword);
|
|
|
|
protected:
|
|
// Private Member Functions
|
|
HRESULT _GetAccountKey(LPCTSTR pszServer, LPTSTR pszKey, DWORD cchKeySize);
|
|
HRESULT _GetUserAccountKey(LPCTSTR pszServer, LPCTSTR pszUserName, LPTSTR pszKey, DWORD cchKeySize);
|
|
HRESULT _LoadLoginAttributes(DWORD * pdwLoginAttribs);
|
|
HRESULT _SaveLoginAttributes(LPCTSTR pszServer, DWORD dwLoginAttribs);
|
|
HRESULT _SetLoginType(HWND hDlg, BOOL fLoginAnnonymously);
|
|
HRESULT _LoadEMailName(HWND hDlg);
|
|
HRESULT _SaveEMailName(HWND hDlg);
|
|
BOOL _SaveDialogData(HWND hDlg);
|
|
HRESULT _LoadMessage(HWND hDlg);
|
|
HRESULT _PopulateUserNameDropDown(HWND hDlg, LPCTSTR pszServer);
|
|
HRESULT _LoadDefaultPassword(BOOL fLoadPersisted);
|
|
HRESULT _SaveUserName(HWND hDlg);
|
|
HRESULT _UserChangeSelect(HWND hDlg, BOOL fSelectChange);
|
|
HRESULT _SavePassword(HWND hDlg, LPCTSTR pszUser, BOOL fPersist);
|
|
HRESULT _GetPassword(LPCTSTR pszServer, LPCTSTR pszUserName, LPTSTR pszPassword, DWORD cchPassword);
|
|
|
|
BOOL _InitDialog(HWND hdlg);
|
|
LRESULT _OnCommand(HWND hdlg, WPARAM wParam, LPARAM lParam);
|
|
LRESULT _OnNotify(HWND hDlg, NMHDR * pNMHdr, int idControl);
|
|
|
|
static INT_PTR CALLBACK _LoginDialogProc(HWND hdlg, UINT wm, WPARAM wParam, LPARAM lParam);
|
|
|
|
// Private Variables Functions
|
|
LPCTSTR m_pszServer; // What is the server name?
|
|
LPCTSTR m_pszUser; // What is the user name?
|
|
LPCTSTR m_pszPassword; // What is the password?
|
|
UINT m_uiMessageID; // What is the String ID of the message for the dialog?
|
|
BOOL m_dwLoginFlags; // How should we behave?
|
|
HWND m_hDlg;
|
|
};
|
|
|
|
#endif // _ACCOUNT_H
|