PDA

Просмотр полной версии : Написание NativeAPI приложения.


sxd
14.01.2007, 20:00
Привет всем, вот пишу прогу-службу режима ядра, работа с файлами получается, а вот запнулся вроде бы на простом следующий участок кода для консольного приложения режима Win32 никак не получается перенести на NativeAPI.

for(int i = 0; i < 100; i++)
{
Sleep (1000);
printf ("Timer: %d second(s).\r", i);
}

Получилось следущее:

int i;
LARGE_INTEGER iDelayInterval;
iDelayInterval.QuadPart = -10000000;

for(i = 0; i < 10; i++)
{
NtDisplayString //вывод не работает, проблема
NtDelayExecution(FALSE, &iDelayInterval);
}

Не как бы вывод обычной строки (без спецификаторов) работает, без проблем, а когда с возвратом каретки и %d не пашет. Помогите разобраться. Может тут как-нибудь с wsprintf или sprintf.

Обычный вывод строки делаю так:

UNICODE_STRING string;
LARGE_INTEGER iDelayInterval;
int i;

RtlInitUnicodeString(&string, L"Hello!");

for(i = 0; i < 10; i++)
{
NtDisplayString(&string);
NtDelayExecution(FALSE, &iDelayInterval);
}