Source code of Windows XP (NT5)
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.

59 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 2000-2001, Microsoft Corporation All rights reserved.
  3. Module Name:
  4. subclass.h
  5. Abstract:
  6. Header file for subclass.c
  7. Revision History:
  8. 28 Feb 2001 v-michka Created.
  9. UNDONE: "A" functions to consider wrapping??? We already have templates for them.
  10. EnumPropsA
  11. EnumPropsExA
  12. GetPropA
  13. GetWindowLongA
  14. RemovePropA
  15. SetPropA
  16. SetWindowLongA
  17. --*/
  18. #ifndef SUBCLASS_H
  19. #define SUBCLASS_H
  20. CRITICAL_SECTION g_csWnds; // our critical section object for window data (use sparingly!)
  21. // All GodotIDs are the subclass procs on top of the
  22. // window. There will always be at least one of these
  23. // for every window we create.
  24. #define ZEORETHGODOTWND 0x7FFFFFFF
  25. #define LASTGODOTWND 0x7FFF0000
  26. #define INSIDE_GODOT_RANGE(x) (((UINT)x > LASTGODOTWND) && ((UINT)x < ZEORETHGODOTWND))
  27. #define OUTSIDE_GODOT_RANGE(x) (!INSIDE_GODOT_RANGE(x))
  28. // In order to determine if an lpfn is ANSI or not, we look at the lpfn
  29. // and assume that anything in the system area is ANSI on Win9x.
  30. // CONSIDER: If a system component ever picks us up, this brilliant move
  31. // in the name of performance will no longer be such a good idea.
  32. #define LOWESTSYSMEMLOC 0x80000000
  33. // Forward declares
  34. BOOL IsInternalWindowProperty(LPCWSTR lpsz, BOOL fUnicode);
  35. BOOL InitWindow(HWND hwnd, LPCWSTR lpszClass);
  36. BOOL GetUnicodeWindowProp(HWND hwnd);
  37. BOOL CleanupWindow(HWND hwnd);
  38. LONG GetWindowLongInternal(HWND hwnd, int nIndex, BOOL fUnicode);
  39. LONG SetWindowLongInternal(HWND hwnd, int nIndex, LONG dwNewLong, BOOL fUnicode);
  40. BOOL DoesProcExpectAnsi(HWND hwnd, WNDPROC godotID, FAUXPROCTYPE fpt);
  41. WNDPROC WndprocFromFauxWndproc(HWND hwnd, WNDPROC fauxLpfn, FAUXPROCTYPE fpt);
  42. #endif // SUBCLASS_H