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

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

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

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

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