Для использования объекта события сначала
Таблица 10.26. Функции для работы с объектами событий
Что необходимо сделать... | Какой вызов нужно использовать... |
Создать событие | KeInitializeEvent |
Создать именованное событие | IoCreateSynchronizationEvent IoCreateNotificationEvent |
Изменить состояние события | KeSetEvent KeClearEvent KeResetEvent |
Запросить состояние | KeReadStateEvent |
Несигнальное состояние объекта событий можно установить при помощи вызовов KeResetEvent и KeClearEvent. Разница между ними заключается в том, что функция KeResetEvent еще и возвращает состояние объекта, в котором тот пребывал перед данным вызовом. Функция KeClearEvent
работает несколько быстрее, поэтому в тех случаях, когда нет необходимости знать предыдущее состояние объекта, следует использовать этот вызов.
Таблица 10.27. Прототип вызова KeInitializeEvent
VOID KeInitializeEvent | IRQL == PASSIVE_LEVEL |
Параметры | Инициализация объекта события и установка его начального состояния |
IN PKEVENT pEvent | Указатель на область памяти для объекта события |
IN EVENT_TYPE Type | Одно из двух значений • NotificationEvent • SynchronizationEvent |
IN BOOLEAN bInitalState | Начальное состояние объекта • TRUE — сигнальное состояние • FALSE — несигнальное состояние |
Возвращаемое значение | void |
u KeResetEvent
VOID KeClearEvent LONG KeResetEvent |
IRQL <= DISPATCH_LEVEL |
Параметры | Установка объекта события в несигнальное состояния |
IN PKEVENT pEvent | Указатель на инициализированный объект события |
Возвращаемое значение | KeResetEvent возвращает предыдущее состояние объекта события |
LONG KeSetEvent | IRQL <= DISPATCH_LEVEL |
Параметры | Переводит объект события в сигнальное состояние |
IN PKEVENT pEvent | Указатель на инициализированный объект события |
IN KPRIORITY Increment | Обычно используется значение IO_NO_INCREMENT |
IN BOOLEAN bWait | Обычно используется значение FALSE |
Возвращаемое значение | Возвращает ненулевое значение, если предыдущее состояние объекта события было сигнальным |
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий