Прочитать на английском

Поделиться через


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

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

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

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

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