Написание NativeAPI приложения.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by sxd, 14 Jan 2007.

  1. sxd

    sxd New Member

    Joined:
    14 Jan 2007
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Привет всем, вот пишу прогу-службу режима ядра, работа с файлами получается, а вот запнулся вроде бы на простом следующий участок кода для консольного приложения режима 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);
    }