Поделиться через


Функция 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.

Возвращаемое значение

Никакой

Замечания

Вызывающие IoRequestDpc должны работать в DIRQL.

Драйверы вызывают IoRequestDpc из подпрограммы прерывания. Из-за этого IoRequestDpc выполняется по значению DIRQL, указанному SynchronizeIrql при вызове драйвера IoConnectInterrupt. Однако можно также ставить D PC в очередь на любой >IRQL = DISPATCH_LEVEL с помощью подпрограмм KeXxxDpc. Дополнительные сведения см. в разделе Какой тип DPC следует использовать?

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Настольный
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL DIRQL

См. также

IoInitializeDpcRequest

KeInitializeDpc

KeInsertQueueDpc