Author: tkreuzer
Date: Tue Jan 14 20:12:07 2014
New Revision: 61625
URL:
http://svn.reactos.org/svn/reactos?rev=61625&view=rev
Log:
[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.
Modified:
trunk/reactos/boot/freeldr/freeldr/include/ui.h
trunk/reactos/boot/freeldr/freeldr/ui/ui.c
trunk/reactos/boot/freeldr/freeldr/windows/winldr.c
trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c
Modified: trunk/reactos/boot/freeldr/freeldr/include/ui.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/ui.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/ui.h [iso-8859-1] Tue Jan 14 20:12:07 2014
@@ -66,7 +66,7 @@
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
Modified: trunk/reactos/boot/freeldr/freeldr/ui/ui.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/ui…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/ui/ui.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/ui/ui.c [iso-8859-1] Tue Jan 14 20:12:07 2014
@@ -344,9 +344,15 @@
UiDrawCenteredText(Left, Top, Right, Bottom, MessageText, ATTR(UiTextColor,
UiMenuBgColor));
}
-VOID UiMessageBox(PCSTR MessageText)
-{
- UiVtbl.MessageBox(MessageText);
+VOID UiMessageBox(PCSTR Format, ...)
+{
+ 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)
Modified: trunk/reactos/boot/freeldr/freeldr/windows/winldr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windo…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] Tue Jan 14 20:12:07
2014
@@ -325,7 +325,8 @@
//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;
}
Modified: trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windo…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/windows/wlregistry.c [iso-8859-1] Tue Jan 14
20:12:07 2014
@@ -538,9 +538,9 @@
/* Get the Driver's Name */
ValueSize = sizeof(ServiceName);
rc = RegEnumKey(hServiceKey, Index, ServiceName, &ValueSize);
- //TRACE_CH(REACTOS, "RegEnumKey(): rc %d\n", (int)rc);
-
- /* Makre sure it's valid, and check if we're done */
+ TRACE("RegEnumKey(): rc %d\n", (int)rc);
+
+ /* 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 @@
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);