Introduzione agli oggetti DPC

Poiché gli ISR devono essere eseguiti il più rapidamente possibile, i driver devono in genere posticipare il completamento della manutenzione di un interrupt fino a quando l'ISR non viene restituito. Pertanto, il sistema fornisce il supporto per le chiamate di routine posticipate (DPC), che possono essere accodate da ISR e che vengono eseguite in un secondo momento e in un IRQL inferiore rispetto all'ISR.

Ogni DPC è associato a un oggetto DPC definito dal sistema. Il sistema fornisce un oggetto DPC per ogni oggetto dispositivo. Il sistema inizializza questo oggetto DPC quando un driver registra una routine DPC nota come routine DpcForIsr . Un driver può creare oggetti DPC aggiuntivi se sono necessari più DPC. Questi controller di dominio aggiuntivi sono noti come routine CustomDpc .

Il contenuto dell'oggetto DPC non deve essere fatto riferimento direttamente dai driver. La struttura dell'oggetto non è documentata. I driver non hanno accesso all'oggetto DPC fornito dal sistema assegnato a ogni oggetto dispositivo. I driver allocano spazio di archiviazione per controller di dominio aggiuntivi, ma il contenuto di questi oggetti DPC deve essere fatto riferimento solo alle routine di sistema.

Gli oggetti DPC e i controller di dominio possono essere usati anche con timer. Per altre informazioni, vedere Oggetti timer e CONTROLLER di dominio.