Функция IoRequestDpc (wdm.h)
Подпрограмма IoRequestDpc помещает в очередь подпрограмму DpcForIsr , предоставляемую драйвером, для завершения обработки ввода-вывода, управляемой прерыванием, на более низком уровне IRQL.
Синтаксис
void IoRequestDpc(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp,
[in] __drv_aliasesMem PVOID Context
);
Параметры
[in] DeviceObject
Указатель на объект устройства, для которого обрабатывается запрос, вызвавшее прерывание.
[in] Irp
Указатель на текущий IRP для указанного устройства.
[in] Context
Указатель на определенный драйвером контекст, передаваемый в подпрограмму DPC.
Возвращаемое значение
None
Remarks
Вызывающие устройства IoRequestDpc должны выполняться в DIRQL.
Драйверы вызывают IoRequestDpc из подпрограммы InterruptService . Из-за этого IoRequestDpc выполняется со значением DIRQL, которое было указано параметром SynchronizeIrql , когда драйвер называется IoConnectInterrupt. Однако можно также ставить DPC в очередь в любом irQL >= DISPATCH_LEVEL с помощью подпрограмм KeXxxDpc . Дополнительные сведения см. в разделе Какой тип DPC следует использовать?
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Персональный компьютер |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | DIRQL |