mirror of
https://github.com/reactos/reactos.git
synced 2025-07-10 18:04:12 +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
3 changed files with 23 additions and 24 deletions
|
@ -674,21 +674,6 @@ typedef struct _GDI_TEB_BATCH
|
||||||
ULONG Buffer[0x136];
|
ULONG Buffer[0x136];
|
||||||
} GDI_TEB_BATCH, *PGDI_TEB_BATCH;
|
} 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
|
// Initial TEB
|
||||||
//
|
//
|
||||||
|
@ -748,7 +733,7 @@ typedef struct _TEB
|
||||||
ULONG GdiClientPID;
|
ULONG GdiClientPID;
|
||||||
ULONG GdiClientTID;
|
ULONG GdiClientTID;
|
||||||
PVOID GdiThreadLocalInfo;
|
PVOID GdiThreadLocalInfo;
|
||||||
W32CLTINFO_TEB Win32ClientInfo;
|
ULONG Win32ClientInfo[62];
|
||||||
PVOID glDispatchTable[0xE9];
|
PVOID glDispatchTable[0xE9];
|
||||||
ULONG glReserved1[0x1D];
|
ULONG glReserved1[0x1D];
|
||||||
PVOID glReserved2;
|
PVOID glReserved2;
|
||||||
|
|
|
@ -8,5 +8,19 @@
|
||||||
|
|
||||||
ULONG FASTCALL IntSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni);
|
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 */
|
#endif /* __WIN32K_MISC_H */
|
||||||
|
|
|
@ -116,22 +116,22 @@ IntSetTebWndCallback (HWND * hWnd, PVOID * pWnd)
|
||||||
{
|
{
|
||||||
HWND hWndS = *hWnd;
|
HWND hWndS = *hWnd;
|
||||||
PWINDOW_OBJECT Window = UserGetWindowObject(*hWnd);
|
PWINDOW_OBJECT Window = UserGetWindowObject(*hWnd);
|
||||||
PTEB Teb = NtCurrentTeb();
|
PW32CLTINFO_TEB ClientInfo = GetWin32ClientInfo();
|
||||||
|
|
||||||
*hWnd = Teb->Win32ClientInfo.hWND;
|
*hWnd = ClientInfo->hWND;
|
||||||
*pWnd = Teb->Win32ClientInfo.pvWND;
|
*pWnd = ClientInfo->pvWND;
|
||||||
|
|
||||||
Teb->Win32ClientInfo.hWND = hWndS;
|
ClientInfo->hWND = hWndS;
|
||||||
Teb->Win32ClientInfo.pvWND = (PVOID) Window;
|
ClientInfo->pvWND = (PVOID) Window;
|
||||||
}
|
}
|
||||||
|
|
||||||
static VOID
|
static VOID
|
||||||
IntRestoreTebWndCallback (HWND hWnd, PVOID pWnd)
|
IntRestoreTebWndCallback (HWND hWnd, PVOID pWnd)
|
||||||
{
|
{
|
||||||
PTEB Teb = NtCurrentTeb();
|
PW32CLTINFO_TEB ClientInfo = GetWin32ClientInfo();
|
||||||
|
|
||||||
Teb->Win32ClientInfo.hWND = hWnd;
|
ClientInfo->hWND = hWnd;
|
||||||
Teb->Win32ClientInfo.pvWND = pWnd;
|
ClientInfo->pvWND = pWnd;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue