Techwiki:Win32k/CLASS

From ReactOS Wiki
Jump to: navigation, search

CLS from Windows

typedef struct _COMMON_WNDCLASS
{
  DWORD   cWndReferenceCount;
  DWORD   style;
  WNDPROC lpfnWndProc;
  DWORD   cbclsExtra;
  DWORD   cbwndExtra;
  HMODULE hModule;
  PCURSOR spicn;
  PCURSOR spcur;
  HBRUSH  hbrBackground
  LPWSTR  lpszMenuName
  LPSTR   lpszAnsiClassName
  PCURSOR spicnSm
} COMMON_WNDCLASS;
//
typedef struct _CLS
{
/* W2k */ /* XP */
/* 000 */          struct _CLS *pclsNext
/* 004 */          ATOM         atomClassName;
/* 006 */ /* 08 */ WORD         fnid;
/* 008 */ /* 0c */ PDESKTOP     rpdeskParent;
/* 00c */ /* 10 */ PDCE         pdce;
/* 010 */ /* 14 */ WORD         hTaskWow;
/* 012 */ /* 16 */ WORD         CSF_flags;
/* 014 */ /* 18 */ LPSTR        lpszClientAnsiMenuName;
/* 018 */ /* 1c */ LPWSTR       lpszClientUnicodeMenuName;
/* 01c */ /* 20 */ PCALLPROCDATA spcpdFirst;
/* 020 */ /* 24 */ struct _CLS *pclsBase;
/* 024 */ /* 28 */ struct _CLS *pclsClone;
/* 028 */ /* 2c */ COMMON_WNDCLASS;
} CLS, *PCLS;
//
// Class Flags
#define CSF_SERVERSIDEPROC   0x0001
#define CSF_ANSIPROC         0x0002
#define CSF_WOWDEFERDESTROY  0x0004
#define CSF_SYSTEMCLASS      0x0008
#define CSF_WOWCLASS         0x0010
#define CSF_WOWEXTRA         0x0020
#define CSF_CACHEDSMICON     0x0040
#define CSF_WIN40COMPAT      0x0080

References

  • "Undocumented Windows, A Programmer's Guide to Reserved MS Win API Functions", page 417 -18.
  • Windows Symbol files, userkdx.dll, !dso, !dcls