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.
|
|
/*++
Copyright (c) 2000-2001, Microsoft Corporation All rights reserved.
Module Name:
subclass.h
Abstract:
Header file for subclass.c
Revision History:
28 Feb 2001 v-michka Created.
UNDONE: "A" functions to consider wrapping??? We already have templates for them. EnumPropsA EnumPropsExA GetPropA GetWindowLongA RemovePropA SetPropA SetWindowLongA
--*/
#ifndef SUBCLASS_H
#define SUBCLASS_H
CRITICAL_SECTION g_csWnds; // our critical section object for window data (use sparingly!)
// All GodotIDs are the subclass procs on top of the
// window. There will always be at least one of these
// for every window we create.
#define ZEORETHGODOTWND 0x7FFFFFFF
#define LASTGODOTWND 0x7FFF0000
#define INSIDE_GODOT_RANGE(x) (((UINT)x > LASTGODOTWND) && ((UINT)x < ZEORETHGODOTWND))
#define OUTSIDE_GODOT_RANGE(x) (!INSIDE_GODOT_RANGE(x))
// In order to determine if an lpfn is ANSI or not, we look at the lpfn
// and assume that anything in the system area is ANSI on Win9x.
// CONSIDER: If a system component ever picks us up, this brilliant move
// in the name of performance will no longer be such a good idea.
#define LOWESTSYSMEMLOC 0x80000000
// Forward declares
BOOL IsInternalWindowProperty(LPCWSTR lpsz, BOOL fUnicode); BOOL InitWindow(HWND hwnd, LPCWSTR lpszClass); BOOL GetUnicodeWindowProp(HWND hwnd); BOOL CleanupWindow(HWND hwnd); LONG GetWindowLongInternal(HWND hwnd, int nIndex, BOOL fUnicode); LONG SetWindowLongInternal(HWND hwnd, int nIndex, LONG dwNewLong, BOOL fUnicode); BOOL DoesProcExpectAnsi(HWND hwnd, WNDPROC godotID, FAUXPROCTYPE fpt); WNDPROC WndprocFromFauxWndproc(HWND hwnd, WNDPROC fauxLpfn, FAUXPROCTYPE fpt);
#endif // SUBCLASS_H
|