return ::WinDefWindowProc(hWnd, msg, mp1, mp2);
MRESULT EXPENTRY nsToolkitWindowProc(HWND hWnd, ULONG msg, MPARAM mp1,                                     MPARAM mp2){    switch (msg) {        case WM_CALLMETHOD:        {            MethodInfo *info = (MethodInfo *)mp2;            PRMonitor *monitor = (PRMonitor *)mp1;            info->Invoke();            PR_EnterMonitor(monitor);            PR_Notify(monitor);            PR_ExitMonitor(monitor);            break;        }        case WM_SENDMSG:        {            SendMsgStruct *pData = (SendMsgStruct*) mp1;            // send the message            pData->rc = WinSendMsg( pData->hwnd, pData->msg, pData->mp1, pData->mp2);            // signal the monitor to let the caller continue            PR_EnterMonitor( pData->pMonitor);            PR_Notify( pData->pMonitor);            PR_ExitMonitor( pData->pMonitor);            break;        }        default:            return ::WinDefWindowProc(hWnd, msg, mp1, mp2);    }}