Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Указатель DeferredContext , передаваемый в KeInitializeDpc , указывает на область контекста, в которой другие подпрограммы драйвера и сама подпрограмма CustomTimerDpc могут поддерживать состояние. Ядро передает указатель DeferredContext в каждом вызове подпрограммы DPC.
В отличие от подпрограммы IoTimer , CustomTimerDpc не имеет особых связей с объектом устройства, созданным драйвером. Однако драйвер может связать подпрограмму CustomTimerDpc с объектом устройства, созданным драйвером, включив указатель на объект устройства в его области контекста.
Область контекста должна находиться в резидентной памяти, выделенной драйвером. Обычно эта область контекста находится в расширении устройства, но она также может находиться в некэшированном пуле. Если драйвер использует объект контроллера, он может находиться в расширении контроллера. Содержимое области контекста определяется драйвером.
Если подпрограмма CustomTimerDpc обменивается информацией о контексте с ISR драйвера, подпрограмма CustomTimerDpc должна использовать KeSynchronizeExecution для вызова подпрограммы SynchCritSection, которая обращается к общему контексту. Дополнительные сведения см. в разделе Использование критически важных разделов.
Если CustomTimerDpc разделяет информацию о контексте с другими программными модулями драйвера, за исключением ISR, область в DeferredContext должна быть защищена исполнительной спиновой блокировкой. Дополнительные сведения см. в разделе "Замки спина".