Leaked source code of windows server 2003
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.

100 lines
1.9 KiB

  1. #include <spprecmp.h>
  2. #include "bootfont.h"
  3. #include "fefont.h"
  4. #include "fevideo.h"
  5. #include "string.h"
  6. extern PWSTR szKeyboard;
  7. NTSTATUS
  8. FESetKeyboardParams(
  9. IN PVOID SifHandle,
  10. IN HANDLE ControlSetKeyHandle,
  11. IN PHARDWARE_COMPONENT *HwComponents,
  12. IN PWSTR LayerDriver
  13. );
  14. NTSTATUS
  15. FEUpgradeKeyboardParams(
  16. IN PVOID SifHandle,
  17. IN HANDLE ControlSetKeyHandle,
  18. IN PHARDWARE_COMPONENT *HwComponents,
  19. IN PWSTR LayerDriver
  20. );
  21. NTSTATUS
  22. FEUpgradeKeyboardLayout(
  23. IN HANDLE ControlSetKeyHandle,
  24. IN PWSTR OldDefaultIMEName,
  25. IN PWSTR NewDefaultIMEName,
  26. IN PWSTR NewDefaultIMEText
  27. );
  28. NTSTATUS
  29. FEUpgradeRemoveMO(
  30. IN HANDLE ControlSetKeyHandle
  31. );
  32. WCHAR
  33. FEGetLineDrawChar(
  34. IN LineCharIndex WhichChar
  35. );
  36. ULONG
  37. FEGetStringColCount(
  38. IN PCWSTR String
  39. );
  40. PWSTR
  41. FEPadString(
  42. IN int Size,
  43. IN PCWSTR String
  44. );
  45. VOID
  46. FESelectKeyboard(
  47. IN PVOID SifHandle,
  48. IN PHARDWARE_COMPONENT *HwComponents,
  49. IN BOOLEAN bNoEasySelection,
  50. IN BOOLEAN CmdConsole
  51. );
  52. VOID
  53. FEUnattendSelectKeyboard(
  54. IN PVOID UnattendedSifHandle,
  55. IN PVOID SifHandle,
  56. IN PHARDWARE_COMPONENT *HwComponents
  57. );
  58. VOID
  59. FEReinitializeKeyboard(
  60. IN PVOID SifHandle,
  61. IN PWSTR Directory,
  62. OUT PVOID *KeyboardVector,
  63. IN PHARDWARE_COMPONENT *HwComponents,
  64. IN PWSTR KeyboardLayoutDefault
  65. );
  66. extern PWSTR szNLSSection;
  67. extern PWSTR szAnsiCodePage;
  68. extern PWSTR szJapanese;
  69. extern PWSTR szKorean;
  70. __inline
  71. BOOLEAN
  72. IS_LANG_VERSION(
  73. IN PVOID SifHandle,
  74. IN PWSTR LangId
  75. )
  76. {
  77. PWSTR NlsValue = SpGetSectionKeyIndex((SifHandle),szNLSSection,szAnsiCodePage,1);
  78. return (NlsValue && !wcscmp(LangId, NlsValue));
  79. }
  80. #define IS_JAPANESE_VERSION(SifHandle) IS_LANG_VERSION((SifHandle), szJapanese)
  81. #define IS_KOREAN_VERSION(SifHandle) IS_LANG_VERSION((SifHandle), szKorean)