mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[FREELDR] Modify UiMessageBox so that it allows to pass a format string and parameters. Make use of it in WinLdrLoadBootDrivers to show the file that couldn't be loaded.
svn path=/trunk/; revision=61625
This commit is contained in:
parent
0caf2dda61
commit
1ae9a47dbe
4 changed files with 14 additions and 7 deletions
|
@ -66,7 +66,7 @@ VOID UiDrawCenteredText(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, PCS
|
|||
VOID UiDrawStatusText(PCSTR StatusText); // Draws text at the very bottom line on the screen
|
||||
VOID UiUpdateDateTime(VOID); // Updates the date and time
|
||||
VOID UiInfoBox(PCSTR MessageText); // Displays a info box on the screen
|
||||
VOID UiMessageBox(PCSTR MessageText); // Displays a message box on the screen with an ok button
|
||||
VOID UiMessageBox(PCSTR Format, ...); // Displays a message box on the screen with an ok button
|
||||
VOID UiMessageBoxCritical(PCSTR MessageText); // Displays a message box on the screen with an ok button using no system resources
|
||||
VOID UiDrawProgressBarCenter(ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled
|
||||
VOID UiDrawProgressBar(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, ULONG Position, ULONG Range, PCHAR ProgressText); // Draws the progress bar showing nPos percent filled
|
||||
|
|
|
@ -344,9 +344,15 @@ VOID UiInfoBox(PCSTR MessageText)
|
|||
UiDrawCenteredText(Left, Top, Right, Bottom, MessageText, ATTR(UiTextColor, UiMenuBgColor));
|
||||
}
|
||||
|
||||
VOID UiMessageBox(PCSTR MessageText)
|
||||
VOID UiMessageBox(PCSTR Format, ...)
|
||||
{
|
||||
UiVtbl.MessageBox(MessageText);
|
||||
CHAR Buffer[256];
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, Format);
|
||||
vsnprintf(Buffer, sizeof(Buffer) - sizeof(CHAR), Format, ap);
|
||||
UiVtbl.MessageBox(Buffer);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
VOID UiMessageBoxCritical(PCSTR MessageText)
|
||||
|
|
|
@ -325,7 +325,8 @@ WinLdrLoadBootDrivers(PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|||
//FIXME: Maybe remove it from the list and try to continue?
|
||||
if (!Status)
|
||||
{
|
||||
UiMessageBox("Can't load boot driver!");
|
||||
ERR("Can't load boot driver '%wZ'!", &BootDriver->FilePath);
|
||||
UiMessageBox("Can't load boot driver '%wZ'!", &BootDriver->FilePath);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -538,9 +538,9 @@ WinLdrScanRegistry(IN OUT PLIST_ENTRY BootDriverListHead,
|
|||
/* Get the Driver's Name */
|
||||
ValueSize = sizeof(ServiceName);
|
||||
rc = RegEnumKey(hServiceKey, Index, ServiceName, &ValueSize);
|
||||
//TRACE_CH(REACTOS, "RegEnumKey(): rc %d\n", (int)rc);
|
||||
TRACE("RegEnumKey(): rc %d\n", (int)rc);
|
||||
|
||||
/* Makre sure it's valid, and check if we're done */
|
||||
/* Make sure it's valid, and check if we're done */
|
||||
if (rc == ERROR_NO_MORE_ITEMS)
|
||||
break;
|
||||
if (rc != ERROR_SUCCESS)
|
||||
|
@ -627,7 +627,7 @@ WinLdrScanRegistry(IN OUT PLIST_ENTRY BootDriverListHead,
|
|||
FrLdrHeapFree(GroupNameBuffer, TAG_WLDR_NAME);
|
||||
return;
|
||||
}
|
||||
//TRACE_CH(REACTOS, "Service %d: '%S'\n", (int)Index, ServiceName);
|
||||
TRACE("Service %d: '%S'\n", (int)Index, ServiceName);
|
||||
|
||||
/* open driver Key */
|
||||
rc = RegOpenKey(hServiceKey, ServiceName, &hDriverKey);
|
||||
|
|
Loading…
Reference in a new issue