#include "precomp.h"
Go to the source code of this file.
Defines | |
#define | FIXUP_PTR(p, pBase) ((p) ? (p) = (PVOID)((PBYTE)pBase + (WORD)(ULONG_PTR)(p)) : 0) |
Functions | |
BOOL | xxxInternalUnloadKeyboardLayout (PWINDOWSTATION, PKL, UINT) |
VOID | ReorderKeyboardLayouts (PWINDOWSTATION, PKL) |
PKL | HKLtoPKL (PTHREADINFO pti, HKL hkl) |
PKBDTABLES | ReadLayoutFile (PKBDFILE pkf, HANDLE hFile, UINT offTable, PKBDNLSTABLES *ppNlsTables) |
PKBDTABLES | PrepareFallbackKeyboardFile (PKBDFILE pkf) |
PKBDFILE | LoadKeyboardLayoutFile (HANDLE hFile, UINT offTable, LPCWSTR pwszKLID) |
VOID | RemoveKeyboardLayoutFile (PKBDFILE pkf) |
void | DestroyKF (PKBDFILE pkf) |
INT | GetThreadsWithPKL (PTHREADINFO **ppptiList, PKL pkl) |
VOID | xxxSetPKLinThreads (PKL pklNew, PKL pklToBeReplaced) |
VOID | xxxFreeImeKeyboardLayouts (PWINDOWSTATION pwinsta) |
HKL | xxxLoadKeyboardLayoutEx (PWINDOWSTATION pwinsta, HANDLE hFile, HKL hklToBeReplaced, UINT offTable, LPCWSTR pwszKLID, UINT KbdInputLocale, UINT Flags) |
HKL | xxxActivateKeyboardLayout (PWINDOWSTATION pwinsta, HKL hkl, UINT Flags, PWND pwnd) |
VOID | ChangeForegroundKeyboardTable (PKL pklOld, PKL pklNew) |
void | ResetPushState (PTHREADINFO pti, UINT uVk) |
void | AdjustPushState (PTHREADINFO ptiCurrent, BYTE bBaseVk, BYTE bVkL, BYTE bVkR, PKL pklPrev, PKL pklNew) |
VOID | AdjustPushStateForKL (PTHREADINFO ptiCurrent, PBYTE pbDone, PKL pklTarget, PKL pklPrev, PKL pklNew) |
HKL | xxxInternalActivateKeyboardLayout (PKL pkl, UINT Flags, PWND pwnd) |
BOOL | xxxUnloadKeyboardLayout (PWINDOWSTATION pwinsta, HKL hkl) |
HKL | _GetKeyboardLayout (DWORD idThread) |
UINT | _GetKeyboardLayoutList (PWINDOWSTATION pwinsta, UINT nItems, HKL *ccxlpBuff) |
VOID | xxxFreeKeyboardLayouts (PWINDOWSTATION pwinsta, BOOL bUnlock) |
VOID | DestroyKL (PKL pkl) |
|
Definition at line 24 of file kbdlyout.c. Referenced by ReadLayoutFile(). |
|
Definition at line 1469 of file kbdlyout.c. References CheckCritIn, tagKL::hkl, NULL, PtiCurrent, PtiCurrentShared, and tagTHREADINFO::spklActive. Referenced by GetActiveHKL().
|
|
Definition at line 1507 of file kbdlyout.c. References EXCEPTION_EXECUTE_HANDLER, tagKL::hkl, KL_UNLOADED, NULL, tagWINDOWSTATION::spklList, and UINT. Referenced by NtUserGetKeyboardLayoutList().
|
|
Definition at line 1104 of file kbdlyout.c. References FALSE, InternalMapVirtualKeyEx(), tagKBDFILE::pKbdTbl, tagTHREADINFO::pq, ResetPushState(), tagKL::spkf, TestAsyncKeyStateDown, TestKeyStateDown, TestRawKeyDown, and UINT. Referenced by AdjustPushStateForKL().
|
|
Definition at line 1140 of file kbdlyout.c. References AdjustPushState(), BYTE, CheckLock, NULL, tagKBDFILE::pKbdTbl, tagKL::spkf, and VOID(). Referenced by xxxInternalActivateKeyboardLayout().
|
|
Definition at line 982 of file kbdlyout.c. References CheckCritIn, ClearAsyncKeyStateToggle, ClearKeyStateToggle, ClearRawKeyToggle, gfKanaToggle, ghKbdTblBase, gpKbdNlsTbl, gpKbdTbl, gptiForeground, guKbdTblSize, tagKBDFILE::hBase, tagKL::hkl, ISTS, NULL, tagKBDFILE::pKbdNlsTbl, tagKBDFILE::pKbdTbl, tagTHREADINFO::pq, SetAsyncKeyStateToggle, SetKeyStateToggle, SetRawKeyToggle, tagKBDFILE::Size, tagKL::spkf, TestAsyncKeyStateToggle, TRUE, UpdateKeyLights(), and VOID(). Referenced by SetForegroundThread(), xxxInternalActivateKeyboardLayout(), and xxxSetPKLinThreads().
|
|
Definition at line 435 of file kbdlyout.c. References tagKBDFILE::hBase, HMFreeObject(), HMMarkObjectDestroy(), and RemoveKeyboardLayoutFile(). Referenced by DestroyKL().
|
|
Definition at line 1688 of file kbdlyout.c. References DestroyKF(), HMFreeObject(), NULL, tagKL::piiex, tagKL::pklNext, tagKL::pklPrev, tagKL::spkf, Unlock, and VOID(). Referenced by Win32kNtUserCleanup().
|
|
Definition at line 445 of file kbdlyout.c. References gpepCSRSS, grpWinStaList, INT, NULL, PpiFromProcess, PTHREADINFO, tagDESKTOP::PtiList, tagTHREADINFO::ptiSibling, tagWINDOWSTATION::rpdeskList, tagDESKTOP::rpdeskNext, tagWINDOWSTATION::rpwinstaNext, and tagTHREADINFO::spklActive. Referenced by xxxFreeImeKeyboardLayouts(), and xxxSetPKLinThreads().
|
|
Definition at line 40 of file kbdlyout.c. References tagKL::dwKL_Flags, tagKL::hkl, KL_UNLOADED, NULL, tagKL::pklNext, tagKL::pklPrev, and tagTHREADINFO::spklActive. Referenced by NtUserMapVirtualKeyEx(), NtUserSetThreadLayoutHandles(), NtUserVkKeyScanEx(), xxxActivateKeyboardLayout(), xxxFreeKeyboardLayouts(), xxxInternalToUnicode(), xxxInternalUnloadKeyboardLayout(), xxxLoadKeyboardLayoutEx(), xxxScanSysQueue(), xxxSystemParametersInfo(), and xxxUnloadKeyboardLayout().
|
|
Definition at line 316 of file kbdlyout.c. References tagKBDFILE::awchKF, gpkfList, HMAllocObject(), HMFreeObject(), NULL, tagKBDFILE::pKbdNlsTbl, tagKBDFILE::pKbdTbl, tagKBDFILE::pkfNext, PrepareFallbackKeyboardFile(), ReadLayoutFile(), TYPE_KBDFILE, and wcsncpycch(). Referenced by xxxLoadKeyboardLayoutEx().
|
|
Definition at line 293 of file kbdlyout.c. References tagKBDFILE::hBase, KbdTablesFallback, NULL, PBYTE, and tagKBDFILE::pKbdNlsTbl. Referenced by LoadKeyboardLayoutFile().
|
|
Definition at line 106 of file kbdlyout.c. References DbgPrint, DWORD, FIXUP_PTR, tagKBDFILE::hBase, ISTS, NT_SUCCESS, NTSTATUS(), NULL, PBYTE, tagKBDFILE::Size, Status, and UINT. Referenced by LoadKeyboardLayoutFile().
|
|
Definition at line 390 of file kbdlyout.c. References gpKbdNlsTbl, gpKbdTbl, gpkfList, KbdTablesFallback, NULL, tagKBDFILE::pKbdNlsTbl, tagKBDFILE::pKbdTbl, tagKBDFILE::pkfNext, and VOID(). Referenced by DestroyKF().
|
|
Definition at line 944 of file kbdlyout.c. References tagWINDOWSTATION::dwWSF_Flags, Lock, NULL, tagKL::pklNext, tagKL::pklPrev, tagWINDOWSTATION::spklList, VOID(), and WSF_NOIO. Referenced by xxxActivateKeyboardLayout(), and xxxLoadKeyboardLayoutEx().
|
|
Definition at line 1059 of file kbdlyout.c. References ClearAsyncKeyStateDown, ClearKeyStateDown, ClearKeyStateToggle, ClearRawKeyDown, ClearRawKeyToggle, and tagTHREADINFO::pq. Referenced by AdjustPushState(), and xxxInternalActivateKeyboardLayout().
|
|
Definition at line 916 of file kbdlyout.c. References CheckLock, HKLtoPKL(), NULL, PtiCurrent, ReorderKeyboardLayouts(), ThreadLockAlwaysWithPti, ThreadUnlock, and xxxInternalActivateKeyboardLayout(). Referenced by NtUserActivateKeyboardLayout(), and xxxDefWindowProc().
|
|
Definition at line 627 of file kbdlyout.c. References tagWINDOWSTATION::dwWSF_Flags, GetThreadsWithPKL(), IFL_UNLOADIME, INT, NULL, VOID(), WSF_NOIO, and xxxImmUnloadThreadsLayout(). Referenced by xxxLoadKeyboardLayoutEx().
|
|
Definition at line 1647 of file kbdlyout.c. References HKLtoPKL(), NULL, PtiCurrent, tagWINDOWSTATION::spklList, Unlock, VOID(), and xxxInternalUnloadKeyboardLayout(). Referenced by xxxLoadKeyboardLayoutEx().
|
|
Definition at line 1203 of file kbdlyout.c. References AdjustPushStateForKL(), tagQ::afKeyState, BOOL, BYTE, CBKEYSTATE, ChangeForegroundKeyboardTable(), CheckLock, _CLIENTINFO::CodePage, tagKL::CodePage, FALSE, gafAsyncKeyState, gafRawKeyState, gdwKeyboardAttributes, gLCIDSentToShell, gpepCSRSS, gptiForeground, gptiRit, grpdeskRitInput, tagKL::hkl, _CLIENTINFO::hKL, tagKL::iBaseCharset, IS_IME_ENABLED, IS_IME_KBDLAYOUT, IsHooked, Lock, NULL, tagTHREADINFO::pClientInfo, tagKBDFILE::pKbdTbl, tagTHREADINFO::ppi, tagTHREADINFO::pq, PsGetCurrentProcess, PtiCurrent, tagDESKTOP::PtiList, tagPROCESSINFO::ptiList, tagTHREADINFO::ptiSibling, ResetPushState(), tagKL::spkf, tagTHREADINFO::spklActive, tagQ::spwndActive, tagTHREADINFO::spwndDefaultIme, tagQ::spwndFocus, ThreadLockAlwaysWithPti, ThreadLockWithPti, ThreadUnlock, TIF_16BIT, TIF_CSRSSTHREAD, tagTHREADINFO::TIF_flags, TIF_INCLEANUP, TRUE, tagKL::wchDiacritic, WHF_SHELL, xxxCallHook(), xxxImmActivateLayout(), xxxImmActivateThreadsLayout(), and xxxSendMessage(). Referenced by xxxActivateKeyboardLayout(), xxxInternalUnloadKeyboardLayout(), and xxxLoadKeyboardLayoutEx().
|
|
Definition at line 1571 of file kbdlyout.c. References BOOL, tagKL::dwKL_Flags, FALSE, gLCIDSentToShell, gspklBaseLayout, HKLtoPKL(), HMMarkObjectDestroy(), IsHooked, KL_UNLOADED, Lock, NULL, tagKL::pklNext, PtiCurrent, tagTHREADINFO::spklActive, tagWINDOWSTATION::spklList, ThreadLockAlwaysWithPti, ThreadUnlock, TRUE, WHF_SHELL, xxxCallHook(), and xxxInternalActivateKeyboardLayout(). Referenced by xxxFreeKeyboardLayouts(), xxxLoadKeyboardLayoutEx(), and xxxUnloadKeyboardLayout().
|
|
Definition at line 654 of file kbdlyout.c. References _HANDLEENTRY::bFlags, BOOL, BYTE, tagKL::CodePage, tagKL::dwFontSigs, tagKL::dwKL_Flags, tagWINDOWSTATION::dwWSF_Flags, FALSE, gLCIDSentToShell, gpidLogon, gspklBaseLayout, gSystemCPCharSet, gSystemFS, HANDLEF_DESTROY, HANDLEF_MARKED_OK, tagKBDFILE::hBase, tagKL::hkl, HKLtoPKL(), HMAllocObject(), HMMarkObjectDestroy(), HMPheFromObject, HMUnlockObject, tagKL::iBaseCharset, IS_IME_KBDLAYOUT, IsHooked, KL_UNLOADED, LoadKeyboardLayoutFile(), Lock, NULL, tagKL::piiex, tagKBDFILE::pKbdTbl, tagKL::pklNext, tagKL::pklPrev, PtiCurrent, ReorderKeyboardLayouts(), RtlInitUnicodeString(), RtlUnicodeStringToInteger(), tagKL::spkf, tagWINDOWSTATION::spklList, ThreadLockAlwaysWithPti, ThreadUnlock, TYPE_KBDLAYOUT, tagKL::wchDiacritic, WHF_SHELL, WSF_NOIO, xxxCallHook(), xxxClientGetCharsetInfo(), xxxFreeImeKeyboardLayouts(), xxxFreeKeyboardLayouts(), xxxImmLoadLayout(), xxxInternalActivateKeyboardLayout(), xxxInternalUnloadKeyboardLayout(), and xxxSetPKLinThreads(). Referenced by NtUserLoadKeyboardLayoutEx(), and xxxCreateWindowStation().
|
|
Definition at line 560 of file kbdlyout.c. References ChangeForegroundKeyboardTable(), CheckLock, GetThreadsWithPKL(), gptiForeground, INT, Lock, NULL, tagKL::pklNext, tagKL::pklPrev, tagTHREADINFO::spklActive, VOID(), and xxxImmActivateAndUnloadThreadsLayout(). Referenced by xxxLoadKeyboardLayoutEx().
|
|
Definition at line 1451 of file kbdlyout.c. References BOOL, FALSE, HKLtoPKL(), NULL, PtiCurrent, and xxxInternalUnloadKeyboardLayout(). Referenced by NtUserUnloadKeyboardLayout().
|