Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

getset.c File Reference

Go to the source code of this file.

Functions

ULONG_PTR MapServerToClientPfn (KERNEL_ULONG_PTR dw, BOOL bAnsi)
ULONG_PTR MapClientNeuterToClientPfn (PCLS pcls, KERNEL_ULONG_PTR dw, BOOL bAnsi)


Function Documentation

ULONG_PTR MapClientNeuterToClientPfn PCLS  pcls,
KERNEL_ULONG_PTR  dw,
BOOL  bAnsi
 

Definition at line 49 of file ntuser/rtl/getset.c.

References tagCLS::fnid, FNID_CONTROLEND, FNID_CONTROLSTART, FNID_TO_CLIENT_PFNA_CLIENT, FNID_TO_CLIENT_PFNA_KERNEL, FNID_TO_CLIENT_PFNW_CLIENT, and FNID_TO_CLIENT_PFNW_KERNEL.

Referenced by _GetClassData(), _GetClassInfoEx(), GetWindowData(), xxxCreateWindowEx(), xxxSetClassData(), and xxxSetWindowData().

00053 { 00054 /* 00055 * Default to the class window proc. 00056 */ 00057 if (dw == 0) { 00058 dw = (KERNEL_ULONG_PTR)pcls->lpfnWndProc; 00059 } 00060 00061 /* 00062 * If this is one of our controls and it hasn't been subclassed, try 00063 * to return the correct ANSI/Unicode function. 00064 */ 00065 if (pcls->fnid >= FNID_CONTROLSTART && pcls->fnid <= FNID_CONTROLEND) { 00066 if (!bAnsi) { 00067 if (FNID_TO_CLIENT_PFNA_KERNEL(pcls->fnid) == dw) 00068 return FNID_TO_CLIENT_PFNW_CLIENT(pcls->fnid); 00069 } else { 00070 if (FNID_TO_CLIENT_PFNW_KERNEL(pcls->fnid) == dw) 00071 return FNID_TO_CLIENT_PFNA_CLIENT(pcls->fnid); 00072 } 00073 #ifdef BUILD_WOW6432 00074 if (!bAnsi) { 00075 if (FNID_TO_CLIENT_PFNW_KERNEL(pcls->fnid) == dw) 00076 return FNID_TO_CLIENT_PFNW_CLIENT(pcls->fnid); 00077 } else { 00078 if (FNID_TO_CLIENT_PFNA_KERNEL(pcls->fnid) == dw) 00079 return FNID_TO_CLIENT_PFNA_CLIENT(pcls->fnid); 00080 } 00081 #endif 00082 } 00083 00084 return (ULONG_PTR)dw; 00085 }

ULONG_PTR MapServerToClientPfn KERNEL_ULONG_PTR  dw,
BOOL  bAnsi
 

Definition at line 22 of file ntuser/rtl/getset.c.

References FNID_TO_CLIENT_PFNA_CLIENT, FNID_TO_CLIENT_PFNW_CLIENT, FNID_WNDPROCEND, FNID_WNDPROCSTART, STOCID, and WNDPROC_PWND.

Referenced by _GetClassData(), _GetClassInfoEx(), GetWindowData(), xxxSetClassData(), and xxxSetWindowData().

00025 { 00026 int i; 00027 00028 for (i = FNID_WNDPROCSTART; i <= FNID_WNDPROCEND; i++) { 00029 if ((WNDPROC_PWND)dw == STOCID(i)) { 00030 if (bAnsi) { 00031 return FNID_TO_CLIENT_PFNA_CLIENT(i); 00032 } else { 00033 return FNID_TO_CLIENT_PFNW_CLIENT(i); 00034 } 00035 } 00036 } 00037 return 0; 00038 }


Generated on Sat May 15 19:43:54 2004 for test by doxygen 1.3.7