ReactOS 0.4.15-dev-7924-g5949c20
mui.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MUI_ENTRY
 
struct  MUI_ERROR
 
struct  MUI_PAGE
 
struct  MUI_STRING
 
struct  MUI_LANGUAGE_RESOURCE
 

Macros

#define TEXT_ID_STATIC   (-1)
 
#define TEXT_ID_FORMAT_PROMPT   1
 
#define STRING_PLEASEWAIT   1
 
#define STRING_INSTALLCREATEPARTITION   2
 
#define STRING_INSTALLCREATELOGICAL   3
 
#define STRING_INSTALLDELETEPARTITION   4
 
#define STRING_DELETEPARTITION   5
 
#define STRING_PARTITIONSIZE   6
 
#define STRING_CHOOSE_NEW_PARTITION   7
 
#define STRING_CHOOSE_NEW_EXTENDED_PARTITION   8
 
#define STRING_CHOOSE_NEW_LOGICAL_PARTITION   9
 
#define STRING_HDPARTSIZE   10
 
#define STRING_CREATEPARTITION   11
 
#define STRING_NEWPARTITION   12
 
#define STRING_PARTFORMAT   13
 
#define STRING_NONFORMATTEDPART   14
 
#define STRING_NONFORMATTEDSYSTEMPART   15
 
#define STRING_NONFORMATTEDOTHERPART   16
 
#define STRING_INSTALLONPART   17
 
#define STRING_CONTINUE   18
 
#define STRING_QUITCONTINUE   19
 
#define STRING_REBOOTCOMPUTER   20
 
#define STRING_DELETING   21
 
#define STRING_MOVING   22
 
#define STRING_RENAMING   23
 
#define STRING_COPYING   24
 
#define STRING_SETUPCOPYINGFILES   25
 
#define STRING_REGHIVEUPDATE   26
 
#define STRING_IMPORTFILE   27
 
#define STRING_DISPLAYSETTINGSUPDATE   28
 
#define STRING_LOCALESETTINGSUPDATE   29
 
#define STRING_KEYBOARDSETTINGSUPDATE   30
 
#define STRING_CODEPAGEINFOUPDATE   31
 
#define STRING_DONE   32
 
#define STRING_REBOOTCOMPUTER2   33
 
#define STRING_CONSOLEFAIL1   34
 
#define STRING_CONSOLEFAIL2   35
 
#define STRING_CONSOLEFAIL3   36
 
#define STRING_FORMATTINGPART   37
 
#define STRING_CHECKINGDISK   38
 
#define STRING_FORMATDISK1   39
 
#define STRING_FORMATDISK2   40
 
#define STRING_KEEPFORMAT   41
 
#define STRING_HDDISK1   42
 
#define STRING_HDDISK2   43
 
#define STRING_PARTTYPE   44
 
#define STRING_HDDINFO1   45
 
#define STRING_HDDINFO2   46
 
#define STRING_UNPSPACE   47
 
#define STRING_MAXSIZE   48
 
#define STRING_UNFORMATTED   49
 
#define STRING_EXTENDED_PARTITION   50
 
#define STRING_FORMATUNUSED   51
 
#define STRING_FORMATUNKNOWN   52
 
#define STRING_KB   53
 
#define STRING_MB   54
 
#define STRING_GB   55
 
#define STRING_ADDKBLAYOUTS   56
 
#define STRING_REBOOTPROGRESSBAR   57
 

Typedefs

typedef struct MUI_ENTRYPMUI_ENTRY
 

Functions

VOID MUIDisplayPage (ULONG PageNumber)
 
VOID MUIClearPage (ULONG PageNumber)
 
VOID MUIDisplayErrorV (IN ULONG ErrorNum, OUT PINPUT_RECORD Ir, IN ULONG WaitEvent, IN va_list args)
 
VOID __cdecl MUIDisplayError (ULONG ErrorNum, PINPUT_RECORD Ir, ULONG WaitEvent,...)
 
VOID SetConsoleCodePage (VOID)
 
PCSTR MUIGetString (ULONG Number)
 
const MUI_ENTRYMUIGetEntry (IN ULONG Page, IN INT TextID)
 
VOID MUIClearText (IN ULONG Page, IN INT TextID)
 
VOID MUIClearStyledText (IN ULONG Page, IN INT TextID, IN INT Flags)
 
VOID MUISetText (IN ULONG Page, IN INT TextID)
 
VOID MUISetStyledText (IN ULONG Page, IN INT TextID, IN INT Flags)
 

Variables

CHAR CharBullet
 
CHAR CharBlock
 
CHAR CharHalfBlock
 
CHAR CharUpArrow
 
CHAR CharDownArrow
 
CHAR CharHorizontalLine
 
CHAR CharVerticalLine
 
CHAR CharUpperLeftCorner
 
CHAR CharUpperRightCorner
 
CHAR CharLowerLeftCorner
 
CHAR CharLowerRightCorner
 
CHAR CharVertLineAndRightHorizLine
 
CHAR CharLeftHorizLineAndVertLine
 
CHAR CharDoubleHorizontalLine
 
CHAR CharDoubleVerticalLine
 
CHAR CharDoubleUpperLeftCorner
 
CHAR CharDoubleUpperRightCorner
 
CHAR CharDoubleLowerLeftCorner
 
CHAR CharDoubleLowerRightCorner
 

Macro Definition Documentation

◆ STRING_ADDKBLAYOUTS

#define STRING_ADDKBLAYOUTS   56

Definition at line 187 of file mui.h.

◆ STRING_CHECKINGDISK

#define STRING_CHECKINGDISK   38

Definition at line 169 of file mui.h.

◆ STRING_CHOOSE_NEW_EXTENDED_PARTITION

#define STRING_CHOOSE_NEW_EXTENDED_PARTITION   8

Definition at line 139 of file mui.h.

◆ STRING_CHOOSE_NEW_LOGICAL_PARTITION

#define STRING_CHOOSE_NEW_LOGICAL_PARTITION   9

Definition at line 140 of file mui.h.

◆ STRING_CHOOSE_NEW_PARTITION

#define STRING_CHOOSE_NEW_PARTITION   7

Definition at line 138 of file mui.h.

◆ STRING_CODEPAGEINFOUPDATE

#define STRING_CODEPAGEINFOUPDATE   31

Definition at line 162 of file mui.h.

◆ STRING_CONSOLEFAIL1

#define STRING_CONSOLEFAIL1   34

Definition at line 165 of file mui.h.

◆ STRING_CONSOLEFAIL2

#define STRING_CONSOLEFAIL2   35

Definition at line 166 of file mui.h.

◆ STRING_CONSOLEFAIL3

#define STRING_CONSOLEFAIL3   36

Definition at line 167 of file mui.h.

◆ STRING_CONTINUE

#define STRING_CONTINUE   18

Definition at line 149 of file mui.h.

◆ STRING_COPYING

#define STRING_COPYING   24

Definition at line 155 of file mui.h.

◆ STRING_CREATEPARTITION

#define STRING_CREATEPARTITION   11

Definition at line 142 of file mui.h.

◆ STRING_DELETEPARTITION

#define STRING_DELETEPARTITION   5

Definition at line 136 of file mui.h.

◆ STRING_DELETING

#define STRING_DELETING   21

Definition at line 152 of file mui.h.

◆ STRING_DISPLAYSETTINGSUPDATE

#define STRING_DISPLAYSETTINGSUPDATE   28

Definition at line 159 of file mui.h.

◆ STRING_DONE

#define STRING_DONE   32

Definition at line 163 of file mui.h.

◆ STRING_EXTENDED_PARTITION

#define STRING_EXTENDED_PARTITION   50

Definition at line 181 of file mui.h.

◆ STRING_FORMATDISK1

#define STRING_FORMATDISK1   39

Definition at line 170 of file mui.h.

◆ STRING_FORMATDISK2

#define STRING_FORMATDISK2   40

Definition at line 171 of file mui.h.

◆ STRING_FORMATTINGPART

#define STRING_FORMATTINGPART   37

Definition at line 168 of file mui.h.

◆ STRING_FORMATUNKNOWN

#define STRING_FORMATUNKNOWN   52

Definition at line 183 of file mui.h.

◆ STRING_FORMATUNUSED

#define STRING_FORMATUNUSED   51

Definition at line 182 of file mui.h.

◆ STRING_GB

#define STRING_GB   55

Definition at line 186 of file mui.h.

◆ STRING_HDDINFO1

#define STRING_HDDINFO1   45

Definition at line 176 of file mui.h.

◆ STRING_HDDINFO2

#define STRING_HDDINFO2   46

Definition at line 177 of file mui.h.

◆ STRING_HDDISK1

#define STRING_HDDISK1   42

Definition at line 173 of file mui.h.

◆ STRING_HDDISK2

#define STRING_HDDISK2   43

Definition at line 174 of file mui.h.

◆ STRING_HDPARTSIZE

#define STRING_HDPARTSIZE   10

Definition at line 141 of file mui.h.

◆ STRING_IMPORTFILE

#define STRING_IMPORTFILE   27

Definition at line 158 of file mui.h.

◆ STRING_INSTALLCREATELOGICAL

#define STRING_INSTALLCREATELOGICAL   3

Definition at line 134 of file mui.h.

◆ STRING_INSTALLCREATEPARTITION

#define STRING_INSTALLCREATEPARTITION   2

Definition at line 133 of file mui.h.

◆ STRING_INSTALLDELETEPARTITION

#define STRING_INSTALLDELETEPARTITION   4

Definition at line 135 of file mui.h.

◆ STRING_INSTALLONPART

#define STRING_INSTALLONPART   17

Definition at line 148 of file mui.h.

◆ STRING_KB

#define STRING_KB   53

Definition at line 184 of file mui.h.

◆ STRING_KEEPFORMAT

#define STRING_KEEPFORMAT   41

Definition at line 172 of file mui.h.

◆ STRING_KEYBOARDSETTINGSUPDATE

#define STRING_KEYBOARDSETTINGSUPDATE   30

Definition at line 161 of file mui.h.

◆ STRING_LOCALESETTINGSUPDATE

#define STRING_LOCALESETTINGSUPDATE   29

Definition at line 160 of file mui.h.

◆ STRING_MAXSIZE

#define STRING_MAXSIZE   48

Definition at line 179 of file mui.h.

◆ STRING_MB

#define STRING_MB   54

Definition at line 185 of file mui.h.

◆ STRING_MOVING

#define STRING_MOVING   22

Definition at line 153 of file mui.h.

◆ STRING_NEWPARTITION

#define STRING_NEWPARTITION   12

Definition at line 143 of file mui.h.

◆ STRING_NONFORMATTEDOTHERPART

#define STRING_NONFORMATTEDOTHERPART   16

Definition at line 147 of file mui.h.

◆ STRING_NONFORMATTEDPART

#define STRING_NONFORMATTEDPART   14

Definition at line 145 of file mui.h.

◆ STRING_NONFORMATTEDSYSTEMPART

#define STRING_NONFORMATTEDSYSTEMPART   15

Definition at line 146 of file mui.h.

◆ STRING_PARTFORMAT

#define STRING_PARTFORMAT   13

Definition at line 144 of file mui.h.

◆ STRING_PARTITIONSIZE

#define STRING_PARTITIONSIZE   6

Definition at line 137 of file mui.h.

◆ STRING_PARTTYPE

#define STRING_PARTTYPE   44

Definition at line 175 of file mui.h.

◆ STRING_PLEASEWAIT

#define STRING_PLEASEWAIT   1

Definition at line 132 of file mui.h.

◆ STRING_QUITCONTINUE

#define STRING_QUITCONTINUE   19

Definition at line 150 of file mui.h.

◆ STRING_REBOOTCOMPUTER

#define STRING_REBOOTCOMPUTER   20

Definition at line 151 of file mui.h.

◆ STRING_REBOOTCOMPUTER2

#define STRING_REBOOTCOMPUTER2   33

Definition at line 164 of file mui.h.

◆ STRING_REBOOTPROGRESSBAR

#define STRING_REBOOTPROGRESSBAR   57

Definition at line 188 of file mui.h.

◆ STRING_REGHIVEUPDATE

#define STRING_REGHIVEUPDATE   26

Definition at line 157 of file mui.h.

◆ STRING_RENAMING

#define STRING_RENAMING   23

Definition at line 154 of file mui.h.

◆ STRING_SETUPCOPYINGFILES

#define STRING_SETUPCOPYINGFILES   25

Definition at line 156 of file mui.h.

◆ STRING_UNFORMATTED

#define STRING_UNFORMATTED   49

Definition at line 180 of file mui.h.

◆ STRING_UNPSPACE

#define STRING_UNPSPACE   47

Definition at line 178 of file mui.h.

◆ TEXT_ID_FORMAT_PROMPT

#define TEXT_ID_FORMAT_PROMPT   1

Definition at line 129 of file mui.h.

◆ TEXT_ID_STATIC

#define TEXT_ID_STATIC   (-1)

Definition at line 126 of file mui.h.

Typedef Documentation

◆ PMUI_ENTRY

Function Documentation

◆ MUIClearPage()

VOID MUIClearPage ( ULONG  PageNumber)

◆ MUIClearStyledText()

VOID MUIClearStyledText ( IN ULONG  Page,
IN INT  TextID,
IN INT  Flags 
)

@MUIClearStyledText

Clears a portion of text from the console output, given the actual state style flag of the text.

Parameters
[in]PageThe MUI (Multilingual User Interface) entry page number, as a unsigned long integer.
[in]TextIDThe text identification number (ID), as an integer. The parameter is used to identify its MUI properties like the coordinates, text style flag and its buffer content.
[in]FlagsThe text style flag, as an integer. The flag determines the style of the text, such as being highlighted, underlined, high padding and so on.
Returns
Nothing.

Definition at line 399 of file mui.c.

403{
404 const MUI_ENTRY * entry;
405 ULONG Index = 0;
406
407 /* Get the MUI entry */
408 entry = MUIGetEntry(Page, TextID);
409
410 if (!entry)
411 return;
412
413 /* Ensure that the text string given by the text ID and page is not NULL */
414 while (entry[Index].Buffer != NULL)
415 {
416 /* If text ID is not correct, skip the entry */
417 if (entry[Index].TextID != TextID)
418 {
419 Index++;
420 continue;
421 }
422
423 /* Now, begin removing the text by calling CONSOLE_ClearStyledText() */
425 entry[Index].X,
426 entry[Index].Y,
427 Flags,
429
430 /* Increment the index and loop over next entires with the same ID */
431 Index++;
432 }
433}
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
Definition: bufpool.h:45
VOID CONSOLE_ClearStyledText(IN SHORT x, IN SHORT y, IN INT Flags, IN SHORT Length)
Definition: consup.c:746
#define NULL
Definition: types.h:112
#define Y(I)
uint32_t entry
Definition: isohybrid.c:63
_In_ PVOID _Out_opt_ BOOLEAN _Out_opt_ PPFN_NUMBER Page
Definition: mm.h:1306
unsigned short USHORT
Definition: pedump.c:61
Definition: mui.h:4
uint32_t ULONG
Definition: typedefs.h:59
const MUI_ENTRY * MUIGetEntry(IN ULONG Page, IN INT TextID)
Definition: mui.c:297
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170

Referenced by FormatPartitionPage().

◆ MUIClearText()

VOID MUIClearText ( IN ULONG  Page,
IN INT  TextID 
)

@MUIClearText

Clears a portion of text from the console output.

Parameters
[in]PageThe MUI (Multilingual User Interface) entry page number, as a unsigned long integer.
[in]TextIDThe text identification number (ID), as an integer. The parameter is used to identify its MUI properties like the coordinates, text style flag and its buffer content.
Returns
Nothing.

Definition at line 344 of file mui.c.

347{
348 const MUI_ENTRY * entry;
349 ULONG Index = 0;
350
351 /* Get the MUI entry */
352 entry = MUIGetEntry(Page, TextID);
353
354 if (!entry)
355 return;
356
357 /* Ensure that the text string given by the text ID and page is not NULL */
358 while (entry[Index].Buffer != NULL)
359 {
360 /* If text ID is not correct, skip the entry */
361 if (entry[Index].TextID != TextID)
362 {
363 Index++;
364 continue;
365 }
366
367 /* Remove the text by using CONSOLE_ClearTextXY() */
369 entry[Index].X,
370 entry[Index].Y,
372
373 /* Increment the index and loop over next entires with the same ID */
374 Index++;
375 }
376}
VOID CONSOLE_ClearTextXY(IN SHORT x, IN SHORT y, IN SHORT Length)
Definition: consup.c:339

◆ MUIDisplayError()

VOID __cdecl MUIDisplayError ( ULONG  ErrorNum,
PINPUT_RECORD  Ir,
ULONG  WaitEvent,
  ... 
)

◆ MUIDisplayErrorV()

VOID MUIDisplayErrorV ( IN ULONG  ErrorNum,
OUT PINPUT_RECORD  Ir,
IN ULONG  WaitEvent,
IN va_list  args 
)

Definition at line 199 of file mui.c.

204{
205 const MUI_ERROR* entry;
206 CHAR Buffer[2048];
207
208 if (ErrorNum >= ERROR_LAST_ERROR_CODE)
209 {
210 PopupError("Invalid error number provided",
211 "Press ENTER to continue",
212 Ir,
214 return;
215 }
216
218 if (!entry)
219 {
220 PopupError("Error: Failed to find translated error message",
221 NULL,
222 NULL,
224 return;
225 }
226
227 vsprintf(Buffer, entry[ErrorNum].ErrorText, args);
228
230 entry[ErrorNum].ErrorStatus,
231 Ir,
232 WaitEvent);
233}
@ ERROR_LAST_ERROR_CODE
Definition: errorcode.h:62
int __cdecl vsprintf(char *_Dest, const char *_Format, va_list _Args)
Definition: sprintf.c:733
Definition: mui.h:13
Definition: match.c:390
static const MUI_ERROR * FindMUIErrorEntries(VOID)
Definition: mui.c:126
VOID PopupError(PCCH Text, PCCH Status, PINPUT_RECORD Ir, ULONG WaitEvent)
Definition: usetup.c:263
#define POPUP_WAIT_ENTER
Definition: usetup.h:123
#define POPUP_WAIT_NONE
Definition: usetup.h:121
char CHAR
Definition: xmlstorage.h:175

Referenced by MUIDisplayError(), and USetupErrorRoutine().

◆ MUIDisplayPage()

VOID MUIDisplayPage ( ULONG  PageNumber)

◆ MUIGetEntry()

const MUI_ENTRY * MUIGetEntry ( IN ULONG  Page,
IN INT  TextID 
)

@MUIGetEntry

Retrieves a MUI entry of a page, given the page number and the text ID.

Parameters
[in]PageThe MUI (Multilingual User Interface) entry page number, as a unsigned long integer.
[in]TextIDThe text identification number (ID), as a unsigned integer. The parameter is used to identify its MUI properties like the coordinates, text style flag and its buffer content.
Returns
Returns a constant MUI entry.

Definition at line 297 of file mui.c.

300{
301 const MUI_ENTRY * entry;
302 ULONG index;
303
304 /* Retrieve the entries of a MUI page */
306 if (!entry)
307 {
308 DPRINT("MUIGetEntryData(): Failed to get the translated entry page!\n");
309 return NULL;
310 }
311
312 /* Loop over the ID entries and check if it matches with one of them */
313 for (index = 0; entry[index].Buffer != NULL; index++)
314 {
315 if (entry[index].TextID == TextID)
316 {
317 /* They match so return the MUI entry */
318 return &entry[index];
319 }
320 }
321
322 /* Page number or ID are incorrect so in this case bail out */
323 DPRINT("Couldn't get the MUI entry field from the page!\n");
324 return NULL;
325}
#define index(s, c)
Definition: various.h:29
GLuint index
Definition: glext.h:6031
#define DPRINT
Definition: sndvol32.h:71
static const MUI_ENTRY * FindMUIEntriesOfPage(IN ULONG PageNumber)
Definition: mui.c:103

Referenced by MUIClearStyledText(), MUIClearText(), MUISetStyledText(), and MUISetText().

◆ MUIGetString()

PCSTR MUIGetString ( ULONG  Number)

Definition at line 251 of file mui.c.

253{
254 ULONG i;
255 const MUI_STRING * entry;
256 CHAR szErr[128];
257
259 if (entry)
260 {
261 for (i = 0; entry[i].Number != 0; i++)
262 {
263 if (entry[i].Number == Number)
264 {
265 return entry[i].String;
266 }
267 }
268 }
269
270 sprintf(szErr, "Error: failed find string id %lu for language index %lu\n", Number, FindLanguageIndex());
271
273 NULL,
274 NULL,
276
277 return "<nostring>";
278}
TCHAR szErr[256]
Definition: service.c:38
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static ULONG FindLanguageIndex(IN PCWSTR LanguageId)
Definition: mui.c:44
#define sprintf(buf, format,...)
Definition: sprintf.c:55
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
Definition: ntpoapi.h:207
Definition: mui.h:25
static const MUI_STRING * FindMUIStringEntries(VOID)
Definition: mui.c:134

Referenced by BootLoaderSelectPage(), CheckFileSystemPage(), CreatePartitionPage(), DeletePartitionPage(), DiskDescription(), DoChkdsk(), DoFormat(), DrawFileSystemList(), FileCopyCallback(), FileCopyPage(), FormatPartitionPage(), GetPartitionTypeString(), PartitionDescription(), PrettifySize1(), PrettifySize2(), ProgressCountdown(), QuitPage(), RegistryPage(), RegistryStatus(), RunUSetup(), SelectFileSystemPage(), SelectPartitionPage(), and ShowPartitionSizeInputBox().

◆ MUISetStyledText()

VOID MUISetStyledText ( IN ULONG  Page,
IN INT  TextID,
IN INT  Flags 
)

@MUISetStyledText

Prints a text to the console output, with a style for it.

Parameters
[in]PageThe MUI (Multilingual User Interface) entry page number, as a unsigned long integer.
[in]TextIDThe text identification number (ID), as an integer. The parameter is used to identify its MUI properties like the coordinates, text style flag and its buffer content.
[in]FlagsThe text style flag, as an integer. The flag determines the style of the text, such as being highlighted, underlined, high padding and so on.
Returns
Nothing.

Definition at line 504 of file mui.c.

508{
509 const MUI_ENTRY * entry;
510 ULONG Index = 0;
511
512 /* Get the MUI entry */
513 entry = MUIGetEntry(Page, TextID);
514
515 if (!entry)
516 return;
517
518 /* Ensure that the text string given by the text ID and page is not NULL */
519 while (entry[Index].Buffer != NULL)
520 {
521 /* If text ID is not correct, skip the entry */
522 if (entry[Index].TextID != TextID)
523 {
524 Index++;
525 continue;
526 }
527
528 /* Print the text to the console output by calling CONSOLE_SetStyledText() */
530
531 /* Increment the index and loop over next entires with the same ID */
532 Index++;
533 }
534}
VOID CONSOLE_SetStyledText(IN SHORT x, IN SHORT y, IN INT Flags, IN LPCSTR Text)
Definition: consup.c:665

◆ MUISetText()

VOID MUISetText ( IN ULONG  Page,
IN INT  TextID 
)

@MUISetText

Prints a text to the console output.

Parameters
[in]PageThe MUI (Multilingual User Interface) entry page number, as a unsigned long integer.
[in]TextIDThe text identification number (ID), as an integer. The parameter is used to identify its MUI properties like the coordinates, text style flag and its buffer content.
Returns
Nothing.

Definition at line 452 of file mui.c.

455{
456 const MUI_ENTRY * entry;
457 ULONG Index = 0;
458
459 /* Get the MUI entry */
460 entry = MUIGetEntry(Page, TextID);
461
462 if (!entry)
463 return;
464
465 /* Ensure that the text string given by the text ID and page is not NULL */
466 while (entry[Index].Buffer != NULL)
467 {
468 /* If text ID is not correct, skip the entry */
469 if (entry[Index].TextID != TextID)
470 {
471 Index++;
472 continue;
473 }
474
475 /* Print the text to the console output by calling CONSOLE_SetTextXY() */
477
478 /* Increment the index and loop over next entires with the same ID */
479 Index++;
480 }
481}
VOID CONSOLE_SetTextXY(IN SHORT x, IN SHORT y, IN LPCSTR Text)
Definition: consup.c:320

◆ SetConsoleCodePage()

VOID SetConsoleCodePage ( VOID  )

Definition at line 537 of file mui.c.

538{
539 UINT wCodePage;
540
541#if 0
542 ULONG lngIndex = 0;
543
544 while (ResourceList[lngIndex].MuiPages != NULL)
545 {
546 if (_wcsicmp(ResourceList[lngIndex].LanguageID, SelectedLanguageId) == 0)
547 {
548 wCodePage = ResourceList[lngIndex].OEMCPage;
549 SetConsoleOutputCP(wCodePage);
550 return;
551 }
552
553 lngIndex++;
554 }
555#else
557 SetConsoleOutputCP(wCodePage);
558#endif
559
560 switch (wCodePage)
561 {
562 case 28606: /* Romanian */
563 case 932: /* Japanese */
564 /* Set special characters */
565 CharBullet = 0x07;
566 CharBlock = 0x01;
567 CharHalfBlock = 0x02;
568 CharUpArrow = 0x03;
569 CharDownArrow = 0x04;
570 CharHorizontalLine = 0x05;
571 CharVerticalLine = 0x06;
572 CharUpperLeftCorner = 0x08;
574 CharLowerLeftCorner = 0x0B;
584
585 /* FIXME: Enter 640x400 video mode */
586 break;
587
588 default: /* Other codepages */
589 /* Set special characters */
590 CharBullet = 0x07;
591 CharBlock = 0xDB;
592 CharHalfBlock = 0xDD;
593 CharUpArrow = 0x18;
594 CharDownArrow = 0x19;
595 CharHorizontalLine = 0xC4;
596 CharVerticalLine = 0xB3;
597 CharUpperLeftCorner = 0xDA;
599 CharLowerLeftCorner = 0xC0;
609
610 /* FIXME: Enter 720x400 video mode */
611 break;
612 }
613}
BOOL WINAPI SetConsoleOutputCP(IN UINT wCodepage)
Definition: console.c:695
UINT MUIGetOEMCodePage(IN PCWSTR LanguageId)
Definition: mui.c:96
unsigned int UINT
Definition: ndis.h:50
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
CHAR CharHorizontalLine
Definition: mui.c:39
CHAR CharHalfBlock
Definition: mui.c:36
CHAR CharBlock
Definition: mui.c:35
CHAR CharBullet
Definition: mui.c:34
CHAR CharDoubleLowerRightCorner
Definition: mui.c:52
CHAR CharDoubleUpperRightCorner
Definition: mui.c:50
CHAR CharUpperRightCorner
Definition: mui.c:42
CHAR CharDoubleLowerLeftCorner
Definition: mui.c:51
CHAR CharDownArrow
Definition: mui.c:38
CHAR CharDoubleUpperLeftCorner
Definition: mui.c:49
CHAR CharLeftHorizLineAndVertLine
Definition: mui.c:46
CHAR CharVertLineAndRightHorizLine
Definition: mui.c:45
CHAR CharDoubleHorizontalLine
Definition: mui.c:47
CHAR CharLowerRightCorner
Definition: mui.c:44
CHAR CharUpperLeftCorner
Definition: mui.c:41
CHAR CharDoubleVerticalLine
Definition: mui.c:48
CHAR CharVerticalLine
Definition: mui.c:40
CHAR CharLowerLeftCorner
Definition: mui.c:43
CHAR CharUpArrow
Definition: mui.c:37
PCWSTR SelectedLanguageId
Definition: usetup.c:66
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309

Referenced by LanguagePage(), and SetupStartPage().

Variable Documentation

◆ CharBlock

CHAR CharBlock
extern

Definition at line 35 of file mui.c.

Referenced by ProgressSetStep(), and SetConsoleCodePage().

◆ CharBullet

CHAR CharBullet
extern

Definition at line 34 of file mui.c.

Referenced by SetConsoleCodePage().

◆ CharDoubleHorizontalLine

CHAR CharDoubleHorizontalLine
extern

Definition at line 47 of file mui.c.

Referenced by CONSOLE_SetUnderlinedTextXY(), DrawThickBorder(), and SetConsoleCodePage().

◆ CharDoubleLowerLeftCorner

CHAR CharDoubleLowerLeftCorner
extern

Definition at line 51 of file mui.c.

Referenced by DrawThickBorder(), and SetConsoleCodePage().

◆ CharDoubleLowerRightCorner

CHAR CharDoubleLowerRightCorner
extern

Definition at line 52 of file mui.c.

Referenced by DrawThickBorder(), and SetConsoleCodePage().

◆ CharDoubleUpperLeftCorner

CHAR CharDoubleUpperLeftCorner
extern

Definition at line 49 of file mui.c.

Referenced by DrawThickBorder(), and SetConsoleCodePage().

◆ CharDoubleUpperRightCorner

CHAR CharDoubleUpperRightCorner
extern

Definition at line 50 of file mui.c.

Referenced by DrawThickBorder(), and SetConsoleCodePage().

◆ CharDoubleVerticalLine

CHAR CharDoubleVerticalLine
extern

Definition at line 48 of file mui.c.

Referenced by DrawThickBorder(), and SetConsoleCodePage().

◆ CharDownArrow

CHAR CharDownArrow
extern

Definition at line 38 of file mui.c.

Referenced by DrawPartitionList(), DrawScrollBarGenericList(), and SetConsoleCodePage().

◆ CharHalfBlock

CHAR CharHalfBlock
extern

Definition at line 36 of file mui.c.

Referenced by ProgressSetStep(), and SetConsoleCodePage().

◆ CharHorizontalLine

CHAR CharHorizontalLine
extern

◆ CharLeftHorizLineAndVertLine

CHAR CharLeftHorizLineAndVertLine
extern

Definition at line 46 of file mui.c.

Referenced by PopupError(), and SetConsoleCodePage().

◆ CharLowerLeftCorner

CHAR CharLowerLeftCorner
extern

Definition at line 43 of file mui.c.

Referenced by DrawBorder(), DrawBox(), DrawListFrame(), DrawPartitionList(), and SetConsoleCodePage().

◆ CharLowerRightCorner

CHAR CharLowerRightCorner
extern

Definition at line 44 of file mui.c.

Referenced by DrawBorder(), DrawBox(), DrawListFrame(), DrawPartitionList(), and SetConsoleCodePage().

◆ CharUpArrow

CHAR CharUpArrow
extern

Definition at line 37 of file mui.c.

Referenced by DrawPartitionList(), DrawScrollBarGenericList(), and SetConsoleCodePage().

◆ CharUpperLeftCorner

CHAR CharUpperLeftCorner
extern

Definition at line 41 of file mui.c.

Referenced by DrawBorder(), DrawBox(), DrawListFrame(), DrawPartitionList(), and SetConsoleCodePage().

◆ CharUpperRightCorner

CHAR CharUpperRightCorner
extern

Definition at line 42 of file mui.c.

Referenced by DrawBorder(), DrawBox(), DrawListFrame(), DrawPartitionList(), and SetConsoleCodePage().

◆ CharVerticalLine

CHAR CharVerticalLine
extern

Definition at line 40 of file mui.c.

Referenced by DrawBorder(), DrawBox(), DrawListFrame(), DrawPartitionList(), and SetConsoleCodePage().

◆ CharVertLineAndRightHorizLine

CHAR CharVertLineAndRightHorizLine
extern

Definition at line 45 of file mui.c.

Referenced by PopupError(), and SetConsoleCodePage().