Exemplo n.º 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;
}
Exemplo n.º 2
0
void CNetServer::OnTerminate()
{	
	if( m_pIOCPThreads )
	{
		for( int i = 0;i < m_IOCPThreadCount;i ++ )
		{			
			m_pIOCPThreads[i].SafeTerminate();
		}
		delete[] m_pIOCPThreads;
		m_pIOCPThreads = NULL;
	}		

	OnShutDown();

	CloseHandle( m_hIOCP );
	m_hIOCP = NULL;	
	if(m_OverLappedObjectPool.GetObjectCount())
	{		
		PrintNetLog(0xffffffff,_T("(%d)关闭,开始统计OverLappedObject使用状况!"),GetID());
		PrintObjectStatus();
	}

	m_OverLappedObjectPool.Destory();	
	m_EventRouterPool.Destory();

	CNetSocket::NetCleanup();
}
Exemplo n.º 3
0
void CEngine::Run()
{
	FKeepRunning = true;
	OnStartup();
	while(FKeepRunning)
	{
		OnFrame();
	}
	OnShutDown();
}
Exemplo n.º 4
0
//--------------------------------------------------------------------------------
bool Game::ShutDown()
{
	if (!OnShutDown())
		return false;

	if (m_pkWindows)
	{
		delete m_pkWindows;
		m_pkWindows = NULL;
	}

	return true;
}
Exemplo n.º 5
0
static INT_PTR CALLBACK
LoggedOutWindowProc(
    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:
        /* FIXME: take care of NoDomainUI */
        pgContext = (PGINA_CONTEXT)lParam;
        SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pgContext);

        if (pgContext->bDontDisplayLastUserName == FALSE)
            SetDlgItemTextW(hwndDlg, IDC_USERNAME, pgContext->UserName);

        if (pgContext->bDisableCAD == TRUE)
            EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE);

        if (pgContext->bShutdownWithoutLogon == FALSE)
            EnableWindow(GetDlgItem(hwndDlg, IDC_SHUTDOWN), FALSE);

        SetDomainComboBox(GetDlgItem(hwndDlg, IDC_LOGON_TO), pgContext);

        SetFocus(GetDlgItem(hwndDlg, pgContext->bDontDisplayLastUserName ? IDC_USERNAME : IDC_PASSWORD));

        pgContext->hBitmap = LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ROSLOGO), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
        return TRUE;

    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        HDC hdc;
        if (pgContext->hBitmap)
        {
            hdc = BeginPaint(hwndDlg, &ps);
            DrawStateW(hdc, NULL, NULL, (LPARAM)pgContext->hBitmap, (WPARAM)0, 0, 0, 0, 0, DST_BITMAP);
            EndPaint(hwndDlg, &ps);
        }
        return TRUE;
    }

    case WM_DESTROY:
        DeleteObject(pgContext->hBitmap);
        return TRUE;

    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDOK:
            if (DoLogon(hwndDlg, pgContext))
                EndDialog(hwndDlg, WLX_SAS_ACTION_LOGON);
            return TRUE;

        case IDCANCEL:
            EndDialog(hwndDlg, WLX_SAS_ACTION_NONE);
            return TRUE;

        case IDC_SHUTDOWN:
            if (OnShutDown(hwndDlg, pgContext) == IDOK)
                EndDialog(hwndDlg, pgContext->nShutdownAction);
            return TRUE;
        }
        break;
    }

    return FALSE;
}