示例#1
0
static inline VOID DisableAero(VOID) 
 { 
	     if (disable_aero_set)
		 {
			 vnclog.Print(LL_INTINFO, VNCLOG("DisableAero already done %i \n"),AeroWasEnabled);
			 return;
		 }
         BOOL pfnDwmEnableCompositiond = FALSE; 
         AeroWasEnabled = FALSE; 
  
         if (!LoadDM()) 
                 return; 
  
         if (pfnDwmIsCompositionEnabled && SUCCEEDED(pfnDwmIsCompositionEnabled(&pfnDwmEnableCompositiond))) 
                 ; 
         else 
                 return; 
  
         AeroWasEnabled = pfnDwmEnableCompositiond;
		 disable_aero_set=true;
		 vnclog.Print(LL_INTINFO, VNCLOG("DisableAero %i \n"),AeroWasEnabled);
          if (!AeroWasEnabled)
			  return; 
  
         if (pfnDwmEnableComposition && SUCCEEDED(pfnDwmEnableComposition(FALSE))) 
                 ; 
         else 
                 ;
		 
 } 
示例#2
0
static inline VOID DisableAero(VOID)
{
    BOOL pfnDwmEnableCompositiond = FALSE;
    AeroWasEnabled = FALSE;

    if (!LoadDM())
        return;

    if (pfnDwmIsCompositionEnabled && SUCCEEDED(pfnDwmIsCompositionEnabled(&pfnDwmEnableCompositiond)))
        DEBPRINT("Got the result of DwmIsCompositionEnabled, %i\n", pfnDwmEnableCompositiond);
    else
        return;

    if ((AeroWasEnabled = pfnDwmEnableCompositiond))
        DEBPRINT("Disable the Aero rendering\n");
    else
        return;

    if (pfnDwmEnableComposition && SUCCEEDED(pfnDwmEnableComposition(FALSE)))
        DEBPRINT("Aero rendering disabled\n");
    else
        DEBPRINT("We failed to disable the Aero rendering\n");
}
示例#3
0
static inline VOID DisableAero(VOID) 
 { 
         BOOL pfnDwmEnableCompositiond = FALSE; 
         AeroWasEnabled = FALSE; 
  
         if (!LoadDM()) 
                 return; 
  
         if (pfnDwmIsCompositionEnabled && SUCCEEDED(pfnDwmIsCompositionEnabled(&pfnDwmEnableCompositiond))) 
                 ; 
         else 
                 return; 
  
         if ((AeroWasEnabled = pfnDwmEnableCompositiond)) 
                 ; 
         else 
                 return; 
  
         if (pfnDwmEnableComposition && SUCCEEDED(pfnDwmEnableComposition(FALSE))) 
                 ; 
         else 
                 ; 
 } 
示例#4
0
文件: xport.cpp 项目: maerson/windbg
BOOL
CallBack(
    PNLBLK  pnlblk,
    int     cb
    )
{
    MPACKET *           pMpacket;
    DPACKET *           pDpckt;
    XOSD                xosd;
    LOADDMSTRUCT        lds;
    static int          cbMulti = 0;
    static char *       pbMulti = NULL;


    switch( pnlblk->mtypeBlk ) {
        case mtypeVersionRequest:
            DEBUG_OUT("CallBack:  mtypeVersionRequest\n" );
            TLFunc(tlfSendVersion, pnlblk->hpid, 0, 0);
            break;


        case mtypeSyncMulti:
        case mtypeAsyncMulti:
#if DBG
            if (pnlblk->mtypeBlk == mtypeAsyncMulti) {
                DEBUG_OUT("CallBack:  mtypeAsyncMulti\n" );
                EnterCriticalSection(&csExpecting);
                FExpectingReply = 0;
                LeaveCriticalSection(&csExpecting);
            } else {
                DEBUG_OUT("CallBack:  mtypeSyncMulti\n" );
                EnterCriticalSection(&csExpecting);
                FExpectingReply = 1;
                FExpectingSeq = pnlblk->seq;
                LeaveCriticalSection(&csExpecting);
            }
#endif
            //assert( cb == (int) (pnlblk->cchMessage + sizeof(NLBLK)) );
            if (FConnected) {
                pMpacket = (MPACKET *) pnlblk->rgchData;
                if (pMpacket->packetNum == 0) {
                    if (cbMulti < pMpacket->packetCount * MAX_INTERNAL_PACKET) {
                        pbMulti = realloc(pbMulti, pMpacket->packetCount *
                                          MAX_INTERNAL_PACKET);
                    }
                }
                memcpy(pbMulti + pMpacket->packetNum * MAX_INTERNAL_PACKET,
                       (LPVOID)pMpacket->rgchData, pnlblk->cchMessage - sizeof(MPACKET));
                if (pMpacket->packetNum + 1 == pMpacket->packetCount) {
                    cb = pMpacket->packetNum * MAX_INTERNAL_PACKET +
                      pnlblk->cchMessage - sizeof(MPACKET);
                    if (TLCallBack != NULL) {
                        TLCallBack( pnlblk->hpid, cb, (LPARAM) pbMulti);
                    } else if (LpDmFunc != NULL) {
                        LpDmFunc((DWORD) cb, pbMulti);
                    }
                }
            }
            break;

        case mtypeAsync:
        case mtypeSync:
#if DBG
            if (pnlblk->mtypeBlk == mtypeAsync) {
                DEBUG_OUT("CallBack:  mtypeAsync\n" );
                EnterCriticalSection(&csExpecting);
                FExpectingReply = 0;
                LeaveCriticalSection(&csExpecting);
            } else {
                DEBUG_OUT("CallBack:  mtypeSync\n" );
                EnterCriticalSection(&csExpecting);
                FExpectingReply = 1;
                FExpectingSeq = pnlblk->seq;
                LeaveCriticalSection(&csExpecting);
            }
#endif
            //assert( cb == (int) (pnlblk->cchMessage + sizeof(NLBLK)) );
            if (FConnected) {
                if (TLCallBack != NULL) {
                    DPRINT(("CallBack: calling TLCallBack\n"));
                    TLCallBack( pnlblk->hpid, pnlblk->cchMessage,
                               (LPARAM) pnlblk->rgchData);
                } else if (LpDmFunc != NULL) {
                    DPRINT(("CallBack: calling LpDmFunc\n"));
                    LpDmFunc(pnlblk->cchMessage, (LPVOID)pnlblk->rgchData);
                }
            }
            break;

        case mtypeDisconnect:
            DEBUG_OUT("CallBack:  mtypeDisconnect\n" );
            if (TLCallBack != NULL) {
                RTP rtp = {0};
                rtp.dbc = dbcRemoteQuit;
                rtp.hpid = pnlblk->hpid;
                TLCallBack(pnlblk->hpid, sizeof(rtp), (LPARAM)&rtp);
            }
            if (LpUiServer) {
                pDpckt = (DPACKET *) pnlblk->rgchData;
                LpUiServer( tlcbDisconnect,
                            pDpckt->hpid,
                            pDpckt->htid,
                            pDpckt->fContinue,
                            0
                          );
            }
            SetEvent(hRemoteQuit);
            break;

        case mtypeTransportIsDead:
            DEBUG_OUT("CallBack:  mtypeTransportIsDead\n" );
            TransportFailure();
            return FALSE;
            break;

        case mtypeLoadDM:
            DPRINT(("CallBack: LoadDM; '%p', '%p'\n",
                    ((LPLOADDMSTRUCT)pnlblk->rgchData)->lpDmName,
                    ((LPLOADDMSTRUCT)pnlblk->rgchData)->lpDmParams));
            assert(FDMSide);
            lds.lpDmName = (LPVOID)pnlblk->rgchData;
            lds.lpDmParams = (LPSTR)pnlblk->rgchData + strlen(lds.lpDmName) + 1;

            xosd = LoadDM(pnlblk->hpid, &lds);

            ZERO_Rgb(RgbReply);
            PnlblkRp->mtypeBlk = mtypeLoadDMReply;

            PnlblkRp->hpid = pnlblk->hpid;
            PnlblkRp->cchMessage = sizeof(XOSD);
            PnlblkRp->seq = ++pkSeq;

            memcpy((LPVOID)PnlblkRp->rgchData, (LPB) &xosd, sizeof(XOSD));
            DPRINT(("CallBack: LoadDM; replying with 0x%x\n", xosd));
            xosd = SendData(PnlblkRp, sizeof(NLBLK) + sizeof(XOSD));
            break;

        default:
            assert(FALSE);
    }

    return TRUE;
}