Объекты обратного вызова
Механизм обратного вызова ядра предоставляет драйверу общий способ запрашивать и отправлять уведомления при выполнении определенных условий.
Драйвер может создать объект обратного вызова, а другие драйверы могут запрашивать уведомление об условиях, связанных с этим обратным вызовом, определенным драйвером. Кроме того, система определяет три объекта обратного вызова для использования драйвера.
Каждый объект обратного вызова имеет имя и набор атрибутов, определенных при создании объекта. Системные объекты обратного вызова имеют имена \Callback\SetSystemTime, \Callback\PowerState и \Callback\ProcessorAdd; Обратные вызовы, определяемые драйвером, не должны дублировать эти имена.
Чтобы запросить уведомление из системного или определяемого драйвером обратного вызова, драйвер открывает объект обратного вызова и регистрирует подпрограмму обратного вызова. Когда условия, определенные для обратного вызова, выполняются, его создатель активирует уведомление. В свою очередь система вызывает все процедуры обратного вызова, зарегистрированные для обратного вызова.
В этом разделе рассматриваются следующие вопросы.
Определение объекта обратного вызова