Общие сведения об объектах DPC

Так как ISR должны выполняться как можно быстрее, драйверы обычно должны откладывать завершение обслуживания прерывания до тех пор, пока не будет возвращен isr. Таким образом, система обеспечивает поддержку отложенных вызовов процедур (DPC), которые могут быть поставлены в очередь из ISR и выполняются позже и в более низком irQL, чем ISR.

Каждый DPC связан с системным объектом DPC. Система предоставляет один объект DPC для каждого объекта устройства. Система инициализирует этот объект DPC, когда драйвер регистрирует подпрограмму DPC, известную как подпрограмма DpcForIsr . Драйвер может создавать дополнительные объекты DPC, если требуется несколько DPC. Эти дополнительные DPC называются подпрограммами CustomDpc .

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

Объекты DPC и DPC также можно использовать с таймерами. Дополнительные сведения см. в разделе Объекты таймера и DPC.