mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 02:10:07 +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
|
@ -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 UiDrawStatusText(PCSTR StatusText); // Draws text at the very bottom line on the screen
|
||||||
VOID UiUpdateDateTime(VOID); // Updates the date and time
|
VOID UiUpdateDateTime(VOID); // Updates the date and time
|
||||||
VOID UiInfoBox(PCSTR MessageText); // Displays a info box on the screen
|
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 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 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
|
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));
|
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)
|
VOID UiMessageBoxCritical(PCSTR MessageText)
|
||||||
|
|
|
@ -325,7 +325,8 @@ WinLdrLoadBootDrivers(PLOADER_PARAMETER_BLOCK LoaderBlock,
|
||||||
//FIXME: Maybe remove it from the list and try to continue?
|
//FIXME: Maybe remove it from the list and try to continue?
|
||||||
if (!Status)
|
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;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -538,9 +538,9 @@ WinLdrScanRegistry(IN OUT PLIST_ENTRY BootDriverListHead,
|
||||||
/* Get the Driver's Name */
|
/* Get the Driver's Name */
|
||||||
ValueSize = sizeof(ServiceName);
|
ValueSize = sizeof(ServiceName);
|
||||||
rc = RegEnumKey(hServiceKey, Index, ServiceName, &ValueSize);
|
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)
|
if (rc == ERROR_NO_MORE_ITEMS)
|
||||||
break;
|
break;
|
||||||
if (rc != ERROR_SUCCESS)
|
if (rc != ERROR_SUCCESS)
|
||||||
|
@ -627,7 +627,7 @@ WinLdrScanRegistry(IN OUT PLIST_ENTRY BootDriverListHead,
|
||||||
FrLdrHeapFree(GroupNameBuffer, TAG_WLDR_NAME);
|
FrLdrHeapFree(GroupNameBuffer, TAG_WLDR_NAME);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//TRACE_CH(REACTOS, "Service %d: '%S'\n", (int)Index, ServiceName);
|
TRACE("Service %d: '%S'\n", (int)Index, ServiceName);
|
||||||
|
|
||||||
/* open driver Key */
|
/* open driver Key */
|
||||||
rc = RegOpenKey(hServiceKey, ServiceName, &hDriverKey);
|
rc = RegOpenKey(hServiceKey, ServiceName, &hDriverKey);
|
||||||
|
|
Loading…
Reference in a new issue