RtlCopyMemory(Common, ResultPointer, ArgumentLength);
- ///// HAX!
- if ( Common->size == 0xdeadbeef )
- {
- ERR("DDE Post callback failed! 2 status %p\n",Status);
- IntCbFreeMemory(Argument);
- return 0;
- }
-
size = Common->size;
*lParam = Common->lParam;
*Buffer = Common->pvData;
RtlMoveMemory(Common, ResultPointer, ArgumentLength);
- ///// HAX!
- if ( Common->size == 0xdeadbeef )
- {
- ERR("DDE Get callback failed! 2 status %p\n",Status);
- IntCbFreeMemory(Argument);
- return FALSE;
- }
-
pMsg->lParam = Common->lParam;
IntCbFreeMemory(Argument);
return FALSE;
}
+ if ( Msg == WM_DDE_REQUEST || Msg == WM_DDE_UNADVISE )
+ {
+ // Do not bother to callback after validation.
+ return TRUE;
+ }
+
if ( Msg == WM_DDE_TERMINATE )
{
//// FIXME Remove Stuff if any...
break;
}
break;
- }
+ }
default:
break;
}
PWND pWndServer;
PDDE_PROP pddeProp;
- if (Msg == WM_DDE_ACK)
- {
- TRACE("Sending WM_DDE_ACK Client hwnd %p\n",pWnd->head.h);
- }
-
if (pWnd->head.pti->ppi != gptiCurrent->ppi)
{
TRACE("Sending long DDE 0x%x\n",Msg);
else
{
ERR("DDE Post CB Return bad msg 0x%x Size %d\n",Common->message,Common->size);
- Common->size = 0xdeadbeef; // HACKSSS!! Return status does not work!
Status = STATUS_UNSUCCESSFUL;
}
if (!Ret)
{
ERR("DDE Get CB Return bad msg 0x%x\n",Common->message);
- Common->size = 0xdeadbeef; // HACKSSS!! Return status does not work!
Status = STATUS_UNSUCCESSFUL;
}
return ZwCallbackReturn(Arguments, ArgumentLength, Status);