Exemple #1
0
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;
}