Объекты обратного вызова

Механизм обратного вызова ядра предоставляет драйверу общий способ запрашивать и отправлять уведомления при выполнении определенных условий.

Драйвер может создать объект обратного вызова, а другие драйверы могут запрашивать уведомление об условиях, связанных с этим обратным вызовом, определенным драйвером. Кроме того, система определяет три объекта обратного вызова для использования драйвера.

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

Чтобы запросить уведомление из системного или определяемого драйвером обратного вызова, драйвер открывает объект обратного вызова и регистрирует подпрограмму обратного вызова. Когда условия, определенные для обратного вызова, выполняются, его создатель активирует уведомление. В свою очередь система вызывает все процедуры обратного вызова, зарегистрированные для обратного вызова.

В этом разделе рассматриваются следующие вопросы.

Определение объекта обратного вызова

Использование объекта обратного вызова Driver-Defined

Использование объекта обратного вызова System-Defined