*/
#include <win32k.h>
+
+#include <winnls.h>
+
DBG_DEFAULT_CHANNEL(UserKbdLayout);
PKL gspklBaseLayout = NULL;
L"Control\\Keyboard Layouts\\";
/* Create keyboard layout file object */
- pkf = UserCreateObject(gHandleTable, NULL, NULL, otKBDfile, sizeof(KBDFILE));
+ pkf = UserCreateObject(gHandleTable, NULL, NULL, NULL, TYPE_KBDFILE, sizeof(KBDFILE));
if (!pkf)
{
ERR("Failed to create object!\n");
{
/* We have failed - destroy created object */
if (pkf)
- UserDeleteObject(pkf->head.h, otKBDfile);
+ UserDeleteObject(pkf->head.h, TYPE_KBDFILE);
}
return pRet;
PKL pKl;
/* Create keyboard layout object */
- pKl = UserCreateObject(gHandleTable, NULL, NULL, otKBDlayout, sizeof(KL));
+ pKl = UserCreateObject(gHandleTable, NULL, NULL, NULL, TYPE_KBDLAYOUT, sizeof(KL));
if (!pKl)
{
ERR("Failed to create object!\n");
if (!pKl->spkf)
{
ERR("UserLoadKbdFile(%wZ) failed!\n", pwszKLID);
- UserDeleteObject(pKl->head.h, otKBDlayout);
+ UserDeleteObject(pKl->head.h, TYPE_KBDLAYOUT);
return NULL;
}
pKl->iBaseCharset = cs.ciCharset;
pKl->dwFontSigs = cs.fs.fsCsb[0];
pKl->CodePage = (USHORT)cs.ciACP;
- TRACE("Charset %d Font Sig %d CodePage %d\n", pKl->iBaseCharset, pKl->dwFontSigs, pKl->CodePage);
+ TRACE("Charset %u Font Sig %lu CodePage %u\n", pKl->iBaseCharset, pKl->dwFontSigs, pKl->CodePage);
}
else
{
*/
static
VOID
-UnloadKbdFile(PKBDFILE pkf)
+UnloadKbdFile(_In_ PKBDFILE pkf)
{
PKBDFILE *ppkfLink = &gpkfList;
+ NT_ASSERT(pkf != NULL);
/* Find previous object */
while (*ppkfLink)
*ppkfLink = pkf->pkfNext;
EngUnloadImage(pkf->hBase);
- UserDeleteObject(pkf->head.h, otKBDfile);
+ UserDeleteObject(pkf->head.h, TYPE_KBDFILE);
}
/*
pKl->pklPrev->pklNext = pKl->pklNext;
pKl->pklNext->pklPrev = pKl->pklPrev;
UnloadKbdFile(pKl->spkf);
- UserDeleteObject(pKl->head.h, otKBDlayout);
+ UserDeleteObject(pKl->head.h, TYPE_KBDLAYOUT);
return TRUE;
}
/* Send shell message */
if (!(Flags & KLF_NOTELLSHELL))
- co_IntShellHookNotify(HSHELL_LANGUAGE, (LPARAM)hkl);
+ co_IntShellHookNotify(HSHELL_LANGUAGE, 0, (LPARAM)hkl);
/* Return hkl on success */
hklRet = (HKL)hkl;
if (!pKl)
{
- ERR("Invalid HKL %x!\n", hKl);
+ ERR("Invalid HKL %p!\n", hKl);
goto cleanup;
}
/* Send shell message */
if (!(Flags & KLF_NOTELLSHELL))
- co_IntShellHookNotify(HSHELL_LANGUAGE, (LPARAM)hkl);
+ co_IntShellHookNotify(HSHELL_LANGUAGE, 0, (LPARAM)hkl);
}
cleanup:
if (pKl)
bRet = UserUnloadKbl(pKl);
else
- ERR("Invalid HKL %x!\n", hKl);
+ ERR("Invalid HKL %p!\n", hKl);
UserLeave();
return bRet;