> Хорошо, по другому попробую. С использованием каких техник и функций приложения, написанные с использованием Native API (например, chkdisk ), выводят текст в синий экран при загрузке?
Текст пишеться уникодом, используя стандартные методы мозврата/перевода каретки. Вот пример
пользуемся тагами для оформления исходников!
void wprint_line( PWSTR wszStr, ... )
{
va_list args;
UNICODE_STRING UszStr;
WCHAR tStr[1024];// = { 0 };
va_start( args, wszStr );
NTSTATUS status =
RtlStringCbVPrintfW( tStr, sizeof tStr, wszStr, args );
if ( NT_SUCCESS( status ) )
{
RtlInitUnicodeString( &UszStr, tStr );
}
else
{
RtlInitUnicodeString( &UszStr, L"Error formating string" );
}
NtDisplayString( &UszStr );
}