Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
* * WOW v1.0 * * Copyright (c) 1991, Microsoft Corporation * * WMSGBM.C * WOW32 16-bit message thunks * * History: * Created 11-Mar-1991 by Jeff Parsons (jeffpar) --*/
#include "precomp.h"
#pragma hdrstop
MODNAME(wmsgbm.c);
#ifdef DEBUG
MSGINFO amiBM[] = { {OLDBM_GETCHECK, "BM_GETCHECK"}, // 0x0400
{OLDBM_SETCHECK, "BM_SETCHECK"}, // 0x0401
{OLDBM_GETSTATE, "BM_GETSTATE"}, // 0x0402
{OLDBM_SETSTATE, "BM_SETSTATE"}, // 0x0403
{OLDBM_SETSTYLE, "BM_SETSTYLE"}, // 0x0404
};
PSZ GetBMMsgName(WORD wMsg) { INT i; register PMSGINFO pmi;
for (pmi=amiBM,i=NUMEL(amiBM); i>0; i--,pmi++) if ((WORD)pmi->uMsg == wMsg) return pmi->pszMsgName; return GetWMMsgName(wMsg); }
#endif
BOOL FASTCALL ThunkBMMsg16(LPMSGPARAMEX lpmpex) { WORD wMsg = lpmpex->Parm16.WndProc.wMsg; LOGDEBUG(7,(" Thunking 16-bit button message %s(%04x)\n", (LPSZ)GetBMMsgName(wMsg), wMsg));
//
// special case BM_CLICK
//
if (wMsg == WIN31_BM_CLICK) { lpmpex->uMsg = BM_CLICK; } else { wMsg -= WM_USER; //
// For app defined (control) messages that are out of range
// return TRUE.
//
// ChandanC Sept-15-1992
//
if (wMsg < (BM_SETSTYLE - BM_GETCHECK + 1)) { lpmpex->uMsg = wMsg + BM_GETCHECK;
// The following messages should not require thunking, because
// they contain no pointers, handles, or rearranged message parameters,
// so consequently they are not documented in great detail here:
//
// BM_GETCHECK
// BM_GETSTATE
// BM_SETCHECK
// BM_SETSTATE
// BM_SETSTYLE
//
// And these I haven't seen documentation for yet (new for Win32???)
//
// BM_GETIMAGE
// BM_SETIMAGE
// switch(lpmpex->uMsg) {
// NO BM_ message needs thunking
// }
} } return TRUE; }
VOID FASTCALL UnThunkBMMsg16(LPMSGPARAMEX lpmpex) { }
|