KeWaitForSingleObject

Тема в разделе "WASM.NT.KERNEL", создана пользователем Proteus, 19 май 2007.

  1. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Совсем мелкий вопрос.
    Не подскажете какие цифры надо записать в KeWaitForSingleObject, чтобы ожидание длилось ровно секунду или пол секунды?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Интервал задается в сотнях наносекунд. Отрицательное значение означает, как я помню, абсолютное ожидание, а положительное - относительное.

    То есть 10000000 - одна секунда

    Код (Text):
    1. LARGE_INTEGER interval = {10000000};
    2. KeWaitForSingleObject( ...., &interval );
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Great
    наоборот
    Код (Text):
    1.     Delay.HighPart = -1;
    2.     Delay.LowPart = -150000000;
    3.     KeWaitForSingleObject(&kTimer, Executive, KernelMode, 0, &Delay);
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ну зачем по частям, можно сразу задать QuadPart как у меня=\
    Так удобнее. А начет + и - я не помню) но точно, помню что одно из них абсолютное, а другое относительное)
     
  5. Slavic

    Slavic New Member

    Публикаций:
    0
    Регистрация:
    11 май 2007
    Сообщения:
    14
    Timeout
    Pointer to a time-out value that specifies the absolute or relative time at which the wait is to be completed (optional). A negative value specifies an interval relative to the current time. The value should be expressed in units of 100 nanoseconds. Absolute expiration times track any changes in the system time; relative expiration times are not affected by system time changes.

    DDK
     
  6. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    По ощущениям нулевая пауза.


    На несколько сек. подвисает.

    Похоже на секунду)) Толко я в самотык играть не люблю. Что за странная цифра?
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ровно 15 должно быть

    1.5 секунды
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    10000000 - это секунда.
    150000000 - это 15 секунд ;)
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Proteus
    написали же два раза, что интервал задается в сотнях наносекунд.
    1000 наносекунд это микросекунда.
    1000 микросекунд это миллисекунда
    считай сам\=
     
  10. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Мне лень)))

    n0name - уже сказал всё что надо было. Больше мне для счатья не надо...