странности в winbase.h

Тема в разделе "WASM.WIN32", создана пользователем YoungBastard, 20 дек 2005.

  1. YoungBastard

    YoungBastard New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2005
    Сообщения:
    231
    Адрес:
    Russia
    Товарисчи! Вы вот мне скажите, что же побудило программистов MS сделать вот такое объевление в этой столь чудной библиотеке winbase.h:

    #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)

    ...

    CreateWaitableTimer

    SetWaitableTimer

    и т.д. кароче все функции связанные с WaitableTimer

    ...

    #endif



    и в win2k нельзя юзать таймеры чтоли?!
     
  2. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    NT 4.0 == 0x0400

    NT 5.0(W2k) == 0x0500

    WinXP (NT 5.1)...

    Win2003 (NT 5.2)...

    Что непонятного ?



    P.S.

    Да и в MSDN чётко сказано:

    Client: Included in Windows XP, Windows 2000 Professional, Windows NT Workstation 4.0, Windows Me, and Windows 98.

    Server: Included in Windows Server 2003, Windows 2000 Server, and Windows NT Server 4.0.

    Header: Declared in Winbase.h; include Windows.h.

    Library: Use Kernel32.lib.
     
  3. YoungBastard

    YoungBastard New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2005
    Сообщения:
    231
    Адрес:
    Russia
    DelExe

    не понятно почему для win2k нельзя использовать ожидающие таймеры
     
  4. infern0

    infern0 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2003
    Сообщения:
    811
    Адрес:
    Russia
    YoungBastard

    согласно msdn можно, ищи у себя ошибку.
     
  5. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    YoungBastard

    В каком смысле нельзя? Что тебе мешает я никак не пойму.
     
  6. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    В MSDN есть пример. Работает на XP и W2k (проверил). В чём именно заключаеться проблема?



    P.S. hxxp://support.microsoft.com/default.aspx?scid=kb;en-us;184796
     
  7. YoungBastard

    YoungBastard New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2005
    Сообщения:
    231
    Адрес:
    Russia
    DelExe

    Если специально не дэфайнить WIN32_WINNT 0x0400, то на не NT таймеры не будут определяться =( на моей VS 2005
     
  8. DelExe

    DelExe New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2005
    Сообщения:
    165
    Если проэкт ручками создать, то да. А как иниаче компилятор узнает для какой версии Винды делать прогу.



    Если визардом, то всё сделаеться автоматически (правда смотря какой тип проэкта).
     
  9. YoungBastard

    YoungBastard New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2005
    Сообщения:
    231
    Адрес:
    Russia
    DelExe

    ну, все визардом... хрен его... может это проблема vs 2005

    ваще много уже было замечено не хорошего у нее =(
     
  10. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine


    Этим ты определяешь минимальную версию системы, под которую собирается проект.