mirror of
https://github.com/reactos/reactos.git
synced 2024-07-22 12:18:04 +00:00
- Move W32CLTINFO_TEB structure out of NDK, since it's module-internal structure.
- Add a define for easier accessing this field. svn path=/trunk/; revision=29069
This commit is contained in:
parent
0a844e24f0
commit
ab5811a512
|
@ -674,21 +674,6 @@ typedef struct _GDI_TEB_BATCH
|
|||
ULONG Buffer[0x136];
|
||||
} GDI_TEB_BATCH, *PGDI_TEB_BATCH;
|
||||
|
||||
//
|
||||
// Window Client Information structure
|
||||
//
|
||||
typedef struct _W32CLTINFO_TEB
|
||||
{
|
||||
ULONG Win32ClientInfo0[2];
|
||||
ULONG ulWindowsVersion;
|
||||
ULONG ulAppCompatFlags;
|
||||
ULONG ulAppCompatFlags2;
|
||||
ULONG Win32ClientInfo1[5];
|
||||
HWND hWND;
|
||||
PVOID pvWND;
|
||||
ULONG Win32ClientInfo2[50];
|
||||
} W32CLTINFO_TEB, *PW32CLTINFO_TEB;
|
||||
|
||||
//
|
||||
// Initial TEB
|
||||
//
|
||||
|
@ -748,7 +733,7 @@ typedef struct _TEB
|
|||
ULONG GdiClientPID;
|
||||
ULONG GdiClientTID;
|
||||
PVOID GdiThreadLocalInfo;
|
||||
W32CLTINFO_TEB Win32ClientInfo;
|
||||
ULONG Win32ClientInfo[62];
|
||||
PVOID glDispatchTable[0xE9];
|
||||
ULONG glReserved1[0x1D];
|
||||
PVOID glReserved2;
|
||||
|
|
|
@ -8,5 +8,19 @@
|
|||
|
||||
ULONG FASTCALL IntSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
|
||||
|
||||
/* Window Client Information structure */
|
||||
typedef struct _W32CLTINFO_TEB
|
||||
{
|
||||
ULONG Win32ClientInfo0[2];
|
||||
ULONG ulWindowsVersion;
|
||||
ULONG ulAppCompatFlags;
|
||||
ULONG ulAppCompatFlags2;
|
||||
ULONG Win32ClientInfo1[5];
|
||||
HWND hWND;
|
||||
PVOID pvWND;
|
||||
ULONG Win32ClientInfo2[50];
|
||||
} W32CLTINFO_TEB, *PW32CLTINFO_TEB;
|
||||
|
||||
#define GetWin32ClientInfo() (PW32CLTINFO_TEB)(NtCurrentTeb()->Win32ClientInfo)
|
||||
|
||||
#endif /* __WIN32K_MISC_H */
|
||||
|
|
|
@ -116,22 +116,22 @@ IntSetTebWndCallback (HWND * hWnd, PVOID * pWnd)
|
|||
{
|
||||
HWND hWndS = *hWnd;
|
||||
PWINDOW_OBJECT Window = UserGetWindowObject(*hWnd);
|
||||
PTEB Teb = NtCurrentTeb();
|
||||
PW32CLTINFO_TEB ClientInfo = GetWin32ClientInfo();
|
||||
|
||||
*hWnd = Teb->Win32ClientInfo.hWND;
|
||||
*pWnd = Teb->Win32ClientInfo.pvWND;
|
||||
*hWnd = ClientInfo->hWND;
|
||||
*pWnd = ClientInfo->pvWND;
|
||||
|
||||
Teb->Win32ClientInfo.hWND = hWndS;
|
||||
Teb->Win32ClientInfo.pvWND = (PVOID) Window;
|
||||
ClientInfo->hWND = hWndS;
|
||||
ClientInfo->pvWND = (PVOID) Window;
|
||||
}
|
||||
|
||||
static VOID
|
||||
IntRestoreTebWndCallback (HWND hWnd, PVOID pWnd)
|
||||
{
|
||||
PTEB Teb = NtCurrentTeb();
|
||||
PW32CLTINFO_TEB ClientInfo = GetWin32ClientInfo();
|
||||
|
||||
Teb->Win32ClientInfo.hWND = hWnd;
|
||||
Teb->Win32ClientInfo.pvWND = pWnd;
|
||||
ClientInfo->hWND = hWnd;
|
||||
ClientInfo->pvWND = pWnd;
|
||||
}
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
|
Loading…
Reference in a new issue