Techwiki:Win32k/SERVERINFO

From ReactOS Wiki
Revision as of 17:48, 25 June 2009 by ThePhysicist (talk | contribs)
Jump to: navigation, search
#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;
#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
   ULING         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)
   WCHAR           MBStrings[];                            // --- 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)
   DWORD           acOemToAnsi[64];                        // --- 39A
   DWORD           acAnsiToOem[64];                        // --- 49A
   PERUSERSERVERINFO;                                    // --- 59A
#else
   DWORD           dwKeyCache;                             // 974
   DWORD           dwAsyncKeyCache;                        // 978
#endif
} SERVERINFO, *PSERVERINFO;

References

  • userkdx.dso