Introducción a los objetos DPC

Dado que los ISR deben ejecutarse lo antes posible, los controladores normalmente deben posponer la finalización del mantenimiento de una interrupción hasta después de que el ISR vuelva. Por lo tanto, el sistema proporciona compatibilidad con llamadas a procedimientos diferidos (DPC), que se pueden poner en cola desde ISR y que se ejecutan más adelante y en un IRQL inferior al ISR.

Cada DPC está asociado a un objeto DPC definido por el sistema. El sistema proporciona un objeto DPC para cada objeto de dispositivo. El sistema inicializa este objeto DPC cuando un controlador registra una rutina DPC conocida como rutina DpcForIsr . Un controlador puede crear objetos DPC adicionales si se necesita más de un DPC. Estos DPC adicionales se conocen como rutinas customDpc .

Los controladores no deben hacer referencia directamente al contenido del objeto DPC. La estructura del objeto no está documentada. Los controladores no tienen acceso al objeto DPC proporcionado por el sistema asignado a cada objeto de dispositivo. Los controladores asignan almacenamiento para DPC adicionales, pero solo las rutinas del sistema deben hacer referencia al contenido de estos objetos DPC.

Los objetos DPC y los DPC también se pueden usar con temporizadores. Para obtener más información, vea Objetos de temporizador y DPC.