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 ; }
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"); }
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 ; }
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; }