Exemple #1
0
//BOOL SwitchToThread(VOID);
uint32 VideoThreadProc( LPVOID lpParameter )
{
    BOOL res;

    StartVideo();
    SetEvent( threadFinished );

    while(true)
    {
        switch (WaitForMultipleObjects( 5, threadMsg, FALSE, INFINITE ))
        {
        case (WAIT_OBJECT_0 + RSPMSG_PROCESSDLIST):
            ProcessDListStep2();
            SetEvent( threadFinished );
            break;
        case (WAIT_OBJECT_0 + RSPMSG_SWAPBUFFERS):
            //res = SwitchToThread();
            //Sleep(1);
            UpdateScreenStep2();
            SetEvent( threadFinished );
            break;
        case (WAIT_OBJECT_0 + RSPMSG_CLOSE):
            StopVideo();
            SetEvent( threadFinished );
            return 1;
        case (WAIT_OBJECT_0 + RSPMSG_CHANGEWINDOW):
            ChangeWindowStep2();
            SetEvent( threadFinished );
            break;
        case (WAIT_OBJECT_0 + RSPMSG_PROCESSRDPLIST):
            try
            {
                RDP_DLParser_Process();
            }
            catch (...)
            {
                ErrorMsg("Unknown Error in ProcessRDPList");
                //TriggerDPInterrupt();
                //TriggerSPInterrupt();
            }
            SetEvent( threadFinished );
            break;
        }
    }
    return 0;
}
void riceProcessRDPList(void)
{
   RDP_DLParser_Process();
}