Partilhar via


Introdução aos objetos DPC

Como os ISRs devem ser executados tão rapidamente quanto possível, os drivers geralmente devem adiar a finalização do serviço de uma interrupção até que o ISR retorne. Portanto, o sistema fornece suporte para chamadas de procedimento diferido (DPCs), que podem ser colocadas na fila a partir de ISRs e que são executadas em uma fase posterior e em um IRQL menor do que o ISR.

Cada DPC está associado a um objeto DPC definido pelo sistema. O sistema fornece um objeto DPC para cada objeto de dispositivo. O sistema inicializa esse objeto DPC quando um driver registra uma rotina DPC conhecida como rotina DpcForIsr . Um driver pode criar objetos DPC adicionais se mais de um DPC for necessário. Esses DPCs extras são conhecidos como rotinas CustomDpc .

O conteúdo do objeto DPC não deve ser referenciado diretamente pelos drivers. A estrutura do objeto não está documentada. Os drivers não têm acesso ao objeto DPC fornecido pelo sistema atribuído a cada objeto de dispositivo. Os drivers alocam armazenamento para DPCs extras, mas o conteúdo desses objetos DPC só deve ser referenciado por rotinas do sistema.

Objetos DPC e DPCs também podem ser usados com temporizadores. Para obter mais informações, consulte Objetos de temporizador e DPCs.