Difference between revisions of "Techwiki:Win32k/SERVERINFO"
Line 38: | Line 38: | ||
} MBSTRING, *PMBSTRING; | } MBSTRING, *PMBSTRING; | ||
+ | // PUSIFlags: | ||
+ | #define PUSIF_PALETTEDISPLAY 0x01 | ||
+ | #define PUSIF_SNAPTO 0x02 | ||
+ | #define PUSIF_COMBOBOXANIMATION 0x04 | ||
+ | #define PUSIF_LISTBOXSMOOTHSCROLLING 0x08 | ||
+ | #define PUSIF_KEYBOARDCUES 0x20 | ||
+ | |||
#if (WIN32_WINNT >= 0x500) | #if (WIN32_WINNT >= 0x500) | ||
typedef struct _PERUSERSERVERINFO | typedef struct _PERUSERSERVERINFO |
Revision as of 23:38, 4 December 2011
#define FNID_START 0 #if (WIN32_WINNT >= 0x501) #define FNID_WNDPROCEND 5 #define FNID_NUM #define NUM_PFNCLIENT 22 #if (WIN32_WINNT >= 0x500) #define FNID_WNDPROCEND 4 #define FNID_END 26 #define NUM_PFNCLIENT 22 #define FNID_ARRAY_SIZE 32 #else #define FNID_WNDPROCEND 4 #define FNID_END 13 #define NUM_PFNCLIENT 19 #define ICLS_NOTUSED 9 #define FNID_ARRAY_SIZE 32 #define MAX_MB_STRINGS 9 #endif #define FNID_NUMPROC (FNID_WNDPROCEND - FNID_START + 1) #define FNID_NUM (FNID_END - FNID_START + 1)
typedef struct _OEMBITMAPINFO { LONG x; LONG y; LONG cx; LONG cy; } OEMBITMAPINFO;
typedef struct tagMBSTRING { WCHAR szName[15]; /*0x000*/ // 2 bytes padding UINT uID; /*0x020*/ UINT uStr; /*0x024*/ } MBSTRING, *PMBSTRING;
// PUSIFlags: #define PUSIF_PALETTEDISPLAY 0x01 #define PUSIF_SNAPTO 0x02 #define PUSIF_COMBOBOXANIMATION 0x04 #define PUSIF_LISTBOXSMOOTHSCROLLING 0x08 #define PUSIF_KEYBOARDCUES 0x20 #if (WIN32_WINNT >= 0x500) typedef struct _PERUSERSERVERINFO { // W2K INT aiSysMet[SM_CMETRICS]; // 000 COLORREF argbSystem[]; // 1aC HBRUSH ahbrSystem[]; // 1C0 HBRUSH hbrGray; // 234 POINTL ptCursor; // 238 DWORD dwLastRITEventTickCount; // 240 ULONG nEvents; // 244 ULONG gclBorder; // 248 DWORD dtScroll; // 24C DWORD dtLBSearch; // 250 DWORD dtCaretBlink; // 254 ULONG ucWheelScrollLines; // 258 DWORD wMaxLeftOverlapChars; // 25C DWORD wMaxRightOverlapChars; // 260 ULONG cxSysFontChar; // 264 ULONG cySysFontChar; // 268 ULONG cxMsgFontChar; // 26C ULONG cyMsgFontChar; // 270 TEXTMETRICW tmSysFont; // 274 HICON hIconSmWindows; // 2B0 HICON hIcoWindows; // 2B4 HFONT hCaptionFont; // 2B8 HFONT hMsgFont; // 2BC DWORD dwKeyCache; // 2C0 DWORD dwAsyncKeyCache; // 2C4 ULONG cCaptures; // 2C8 OEMBITMAPINFO oembmi[93]; // 2CC RECT rcScreen; // 89C USHORT BitCount; // 8AC USHORT dmLogPixels; // 8AE BYTE Planes; // 8B0 BYTE BitsPixel; // 8B1 DWORD PUSIFlags; // 8B4 ULONG uCaretWidth; // 8B8 USHORT UILangID; // 8BC struct { USHORT bLastRITWasKeyboard:1; // 8BE USHORT bKeyboardPref:1; // 8BE }; // Size: 8c4; } PERUSERSERVERINFO, *PPERUSERSERVERINFO; #endif
typedef struct _SERVERINFO { // NT4 W2K #if (WIN32_WINNT >= 0x500) WORD wRIPFlags; // --- 000 WORD wSRVIFlags; // --- 002 WORD wRIPPID; // --- 004 WORD wRIPError // --- 006 #else DWORD RipFlags; // 000 --- #endif ULONG cHandleEntries; // 004 008 DWORD mpFnidPfn[FNID_ARRAY_SIZE]; // 008 00C DWORD aStoCidPfn[FNID_NUMPROC]; // 088 08C USHORT mpFnid_serverCBWndProc[FNID_NUM]; // 09c 0A0 PFNCLIENT apfnClientA[NUM_PFNCLIENT]; // 0d4 0D8 PFNCLIENT apfnClientW[NUM_PFNCLIENT]; // 120 128 #if (WIN32_WINNT >= 0x500) PFNCLIENTWORKER apfnClientWorker[9]; // --- 178 #else DWORD dwDebugErrorLevel; // 16c INT aiSysMet[SM_CMETRICS]; // 170 COLORREF argbSystem[25]; // 2a0 POINT ptCursor; // 304 #endif ULONG cbHandleTable; // 30c 19C #if (WIN32_WINNT < 0x500) ULONG nEvents; // 310 OEMBITMAPINFO oemInfo; // 314 DWORD gclBorder; // 768 DWORD dtScroll; // 76c DWORD dtLBSearch; // 770 DWORD dtCaretBlink; // 774 BOOL fSnapTo; // 778 ULONG ucWheelScrollLines; // 77c BOOL fPaletteDisplay; // 780 ULONG fWinEventHooks:1; // 784 #endif ATOM atomSysClass[ICLS_NOTUSED+1]; // 788 1A0 DWORD dwDefaultHeapBase; // 7b0 1CC DWORD dwDefaultHeapSize; // 7b4 1D0 #if (WIN32_WINNT < 0x500) DWORD wMaxLeftOverlapChars; // 7b8 DWORD wMaxRightOverlapChars; // 7bc RECT rcWork; // 7c0 #endif UINT uiShellMsg; // 7d0 1D4 #if (WIN32_WINNT < 0x500) LONG cxSysFontChar; // 7d4 LONG cySysFontChar; // 7d8 LONG cxMsgFontChar; // 7dc LONG cyMsgFontChar; // 7e0 TEXTMETRICW tmSysFont; // 7e4 #endif DWORD wMaxBtnSize; // 81c 1D8 #if (WIN32_WINNT >= 0x500) MBSTRING MBStrings[MAX_MB_STRINGS]; // --- 1DC #else DWORD mpAllMBbtnStringsToSTR[MAX_MB_STRINGS]; // 820 DWORD AllMBbtnStrings[MAX_MB_STRINGS]; // 844 WCHAR szOK[10]; // 868 WCHAR szCANCEL[15]; // 87c WCHAR szYES[10]; // 89a WCHAR szNO[10]; // 8ae WCHAR szABORT[15]; // 8c2 WCHAR szRETRY[15]; // 8e0 WCHAR szIGNORE[15]; // 8fe WCHAR szCLOSE[15]; // 91c WCHAR szHELP[15]; // 93a #endif ATOM atomIconSmProp; // 958 394 ATOM atomIconProp; // 95a 396 #if (WIN32_WINNT < 0x500) HICON hIconSmWindows; // 95c HICON hIcoWindows; // 960 HFONT hCaptionFont; // 964 FONT hMsgFont; // 968 DWORD cntMBox; // 96c #endif ATOM atomContextHelpIdProp; // 970 398 #if (WIN32_WINNT >= 0x500) CHAR acOemToAnsi[256]; // --- 39A CHAR acAnsiToOem[256]; // --- 49A PERUSERSERVERINFO; // --- 59A #else DWORD dwKeyCache; // 974 DWORD dwAsyncKeyCache; // 978 #endif } SERVERINFO, *PSERVERINFO;
oembmi
- oembmi[Number] Build table corresponding to each draw frame control. Verified W7U.
Bitmap name | DrawFrameControl Type |
DrawFrameControl
State Bits |
OBMI
Number |
DFC_CAPTION |
DFCS_CAPTIONCLOSE |
0 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_PUSHED |
1 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_HOT |
2 | |
DFC_CAPTION | DFCS_CAPTIONCLOSE | DFCS_INACTIVE |
3 | |
DFC_CAPTION |
DFCS_CAPTIONMIN |
4 | |
DFC_CAPTION |
DFCS_CAPTIONMIN | DFCS_PUSHED |
5 | |
DFC_CAPTION |
DFCS_CAPTIONMIN | DFCS_HOT |
6 | |
DFC_CAPTION |
DFCS_CAPTIONMIN | DFCS_INACTIVE |
7 | |
DFC_CAPTION |
DFCS_CAPTIONRESTORE |
8 | |
DFC_CAPTION |
DFCS_CAPTIONRESTORE | DFCS_PUSHED |
9 | |
DFC_CAPTION |
DFCS_CAPTIONRESTORE | DFCS_HOT |
10 | |
DFC_CAPTION |
DFCS_CAPTIONHELP |
11 | |
DFC_CAPTION |
DFCS_CAPTIONHELP | DFCS_PUSHED |
12 | |
DFC_CAPTION |
DFCS_CAPTIONHELP | DFCS_HOT |
13 | |
OBM_OLD/ZOOM |
DFC_CAPTION |
DFCS_CAPTIONMAX |
14 |
OBM_ZOOMD |
DFC_CAPTION |
DFCS_CAPTIONMAX | DFCS_PUSHED |
15 |
DFC_CAPTION |
DFCS_CAPTIONMAX | DFCS_HOT |
16 | |
DFC_CAPTION |
DFCS_CAPTIONMAX | DFCS_INACTIVE |
17 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INMENU |
18 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INMENU
| DFCS_PUSHED |
19 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INMENU
| DFCS_HOT |
20 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INMENU
| DFCS_INACTIVE |
21 | |
OBM_OLD/REDUCE |
DFC_CAPTION |
DFCS_CAPTIONMIN | DFCS_INMENU |
22 |
OBM_REDUCED |
DFC_CAPTION |
DFCS_CAPTIONMIN | DFCS_INMENU |
DFCS_PUSHED |
23 |
DFC_CAPTION |
DFCS_CAPTIONMIN | DFCS_INMENU |
DFCS_HOT |
24 | |
DFC_CAPTION |
DFCS_CAPTIONMIN | DFCS_INMENU |
DFCS_INACTIVE |
25 | |
OBM_OLD/RESTORE |
DFC_CAPTION |
DFCS_CAPTIONRESTORE | DFCS_INMENU |
26 |
OBM_RESTORED |
DFC_CAPTION |
DFCS_CAPTIONRESTORE |
DFCS_INMENU | DFCS_PUSHED |
27 |
DFC_CAPTION |
DFCS_CAPTIONRESTORE |
DFCS_INMENU | DFCS_HOT |
28 | |
DFC_CACHE |
DFCS_CACHEICON |
29 | |
DFC_CACHE |
DFCS_CACHEICON | DFCS_INACTIVE |
30 | |
DFC_CACHE | DFCS_CACHEICON | 31 | |
DFC_CACHE | DFCS_CACHEICON | DFCS_INACTIVE |
32 | |
DFC_CACHE | DFCS_CACHEICON | 33 | |
DFC_CACHE | DFCS_CACHEICON | DFCS_INACTIVE |
34 | |
DFC_CACHE | DFCS_CACHEICON | 35 | |
DFC_CACHE | DFCS_CACHEICON | DFCS_INACTIVE |
36 | |
DFC_CACHE | DFCS_CACHEICON | 37 | |
DFC_CACHE | DFCS_CACHEICON | DFCS_INACTIVE |
38 | |
DFC_CACHE | DFCS_CACHEBUTTONS |
39 | |
DFC_CACHE | DFCS_CACHEBUTTONS | DFCS_INACTIVE |
40 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INSMALL |
41 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INSMALL
| DFCS_PUSHED |
42 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INSMALL
| DFCS_HOT |
43 | |
DFC_CAPTION |
DFCS_CAPTIONCLOSE | DFCS_INSMALL
| DFCS_INACTIVE |
44 | |
OBM_BT/SIZE |
DFC_SCROLL |
DFCS_SCROLLSIZEGRIP |
45 |
OBM_OLD/UPARROW |
DFC_SCROLL | DFCS_SCROLLUP |
46 |
OBM_UPARROWD |
DFC_SCROLL | DFCS_SCROLLUP | DFCS_PUSHED |
DFCS_FLAT |
47 |
DFC_SCROLL | DFCS_SCROLLUP | DFCS_HOT | 48 | |
OBM_UPARROWI |
DFC_SCROLL | DFCS_SCROLLUP | DFCS_INACTIVE | 49 |
OBM_OLD/DNARROW |
DFC_SCROLL | DFCS_SCROLLDOWN |
50 |
OBM_DNARROWD/_COMBO |
DFC_SCROLL | DFCS_SCROLLDOWN | DFCS_PUSHED |
DFCS_FLAT |
51 |
DFC_SCROLL | DFCS_SCROLLDOWN | DFCS_HOT | 52 | |
OBM_DNARROWI |
DFC_SCROLL | DFCS_SCROLLDOWN | DFCS_INACTIVE | 53 |
OBM_OLD/RGARROW |
DFC_SCROLL | DFCS_SCROLLRIGHT |
54 |
OBM_RGARROWD |
DFC_SCROLL | DFCS_SCROLLRIGHT | DFCS_PUSHED |
DFCS_FLAT |
55 |
DFC_SCROLL | DFCS_SCROLLRIGHT | DFCS_HOT | 56 | |
OBM_RGARROWI |
DFC_SCROLL | DFCS_SCROLLRIGHT | DFCS_INACTIVE | 57 |
OBM_OLD/LFARROW |
DFC_SCROLL | DFCS_SCROLLLEFT |
58 |
OBM_LFARROWD |
DFC_SCROLL | DFCS_SCROLLLEFT | DFCS_PUSHED |
DFCS_FLAT |
59 |
DFC_SCROLL | DFCS_SCROLLLEFT | DFCS_HOT | 60 | |
OBM_LFARROWI |
DFC_SCROLL | DFCS_SCROLLLEFT | DFCS_INACTIVE |
61 |
OBM_MNARROW |
DFC_MENU |
DFCS_MENUARROW |
62 |
OBM_CHECK |
DFC_MENU |
DFCS_MENUCHECK |
63 |
DFC_MENU |
DFCS_MENUBULLET |
64 | |
DFC_MENU |
DFCS_MENUARROWUP |
65 | |
DFC_MENU |
DFCS_MENUARROWUP | DFCS_HOT |
66 | |
DFC_MENU |
DFCS_MENUARROWUP | DFCS_INACTIVE |
67 | |
DFC_MENU |
DFCS_MENUARROWDOWN |
68 | |
DFC_MENU |
DFCS_MENUARROWDOWN | DFCS_HOT |
69 | |
DFC_MENU |
DFCS_MENUARROWDOWN |
DFCS_INACTIVE |
70 | |
OBM_BTNCORNERS |
DFC_BUTTON |
DFCS_BUTTONRADIOMASK |
71 |
OBM_CHECKBOXES |
DFC_BUTTON |
DFCS_BUTTONCHECK |
72 |
DFC_BUTTON |
DFCS_BUTTONCHECK | DFCS_CHECKED |
73 | |
DFC_BUTTON |
DFCS_BUTTONCHECK | DFCS_PUSHED |
74 | |
DFC_BUTTON |
DFCS_BUTTONCHECK | DFCS_CHECKED
| DFCS_PUSHED |
75 | |
DFC_BUTTON |
DFCS_BUTTONCHECK | DFCS_CHECKED
| DFCS_INACTIVE |
76 | |
DFC_BUTTON |
DFCS_BUTTONRADIOIMAGE |
77 | |
DFC_BUTTON |
DFCS_BUTTONRADIOIMAGE |
DFCS_CHECKED |
78 | |
DFC_BUTTON |
DFCS_BUTTONRADIOIMAGE |
DFCS_PUSHED |
79 | |
DFC_BUTTON |
DFCS_BUTTONRADIOIMAGE |
DFCS_CHECKED | DFCS_PUSHED |
80 | |
DFC_BUTTON |
DFCS_BUTTONRADIOIMAGE |
DFCS_CHECKED | DFCS_INACTIVE |
81 | |
DFC_BUTTON |
DFCS_BUTTON3STATE |
82 | |
DFC_BUTTON |
DFCS_BUTTON3STATE | DFCS_CHECKED |
83 | |
DFC_BUTTON |
DFCS_BUTTON3STATE | DFCS_PUSHED |
84 | |
DFC_BUTTON |
DFCS_BUTTON3STATE | DFCS_CHECKED
| DFCS_PUSHED |
85 | |
DFC_BUTTON |
DFCS_BUTTON3STATE | DFCS_CHECKED
| DFCS_INACTIVE |
86 | |
DFC_POPUPMENU |
DFCS_CAPTIONCLOSE | DFCS_INMENU |
87 | |
DFC_POPUPMENU |
DFCS_CAPTIONRESTORE | DFCS_INMENU |
88 | |
DFC_POPUPMENU |
DFCS_CAPTIONMAX | DFCS_INMENU |
89 | |
DFC_POPUPMENU |
DFCS_CAPTIONMIN | DFCS_INMENU |
90 | |
DFC_SCROLL |
DFCS_SCROLLSIZEGRIPRIGHT |
91 | |
DFC_MENU |
DFCS_MENUARROWRIGHT |
92 |
References
- userkdx dso, W7U symbols, ICLS_Xxx from userkdx, FNID_ based on ICLS and function names.