static INT_PTR CALLBACK LoggedOnWindowProc( IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam) { PGINA_CONTEXT pgContext; pgContext = (PGINA_CONTEXT)GetWindowLongPtr(hwndDlg, GWL_USERDATA); switch (uMsg) { case WM_INITDIALOG: { pgContext = (PGINA_CONTEXT)lParam; SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext); OnInitSecurityDlg(hwndDlg, (PGINA_CONTEXT)lParam); SetFocus(GetDlgItem(hwndDlg, IDNO)); return TRUE; } case WM_COMMAND: { switch (LOWORD(wParam)) { case IDC_LOCK: EndDialog(hwndDlg, WLX_SAS_ACTION_LOCK_WKSTA); return TRUE; case IDC_LOGOFF: if (OnLogOff(hwndDlg, pgContext) == IDYES) EndDialog(hwndDlg, WLX_SAS_ACTION_LOGOFF); return TRUE; case IDC_SHUTDOWN: if (OnShutDown(hwndDlg, pgContext) == IDOK) EndDialog(hwndDlg, pgContext->nShutdownAction); return TRUE; case IDC_CHANGEPWD: if (OnChangePassword(hwndDlg, pgContext)) EndDialog(hwndDlg, WLX_SAS_ACTION_PWD_CHANGED); return TRUE; case IDC_TASKMGR: EndDialog(hwndDlg, WLX_SAS_ACTION_TASKLIST); return TRUE; case IDCANCEL: EndDialog(hwndDlg, WLX_SAS_ACTION_NONE); return TRUE; } break; } case WM_CLOSE: { EndDialog(hwndDlg, WLX_SAS_ACTION_NONE); return TRUE; } } return FALSE; }
bool CServerSession::PumpMessage( CNcpMessage* pMsg, int nBufSize ) { switch( pMsg->GetCmd() ) { case CM_LOGON: return OnLogOn( pMsg, nBufSize ); case CM_LOGOFF: return OnLogOff( pMsg, nBufSize ); case CM_PASSIVE: return OnPassive( pMsg, nBufSize ); case CM_PUTFILE: return OnPutFile( pMsg, nBufSize ); case CM_GETFILE: return OnGetFile( pMsg, nBufSize ); case CM_REMFILE: return OnRemFile( pMsg, nBufSize ); case CM_CHMOD: return OnChMod( pMsg, nBufSize ); case CM_SOFTLINK: return OnSoftLink( pMsg, nBufSize ); case CM_FILEMODE: return OnFileMode( pMsg, nBufSize ); case CM_MKDIR: return OnMkDir( pMsg, nBufSize ); case CM_CHDIR: return OnChDir( pMsg, nBufSize ); case CM_RMDIR: return OnRmDir( pMsg, nBufSize ); case CM_RUNIMAGE: return OnRunImage( pMsg, nBufSize ); case CM_GETSYSINFO: return OnGetSysInfo( pMsg, nBufSize ); case CM_KILLPROCS: return OnKillProcs( pMsg, nBufSize ); case CM_SETIDLE: return OnSetIdle( pMsg, nBufSize ); default: pMsg->Init(CM_ACK); pMsg->SetRet( E_UNKNOWN ); pMsg->Send( m_sock ); ASSERT(FALSE); } return false; }