Функция KeInsertQueueDpc (wdm.h)

Подпрограмма KeInsertQueueDpc помещает DPC в очередь для выполнения.

Синтаксис

BOOLEAN KeInsertQueueDpc(
  [in, out]      PRKDPC                 Dpc,
  [in, optional] PVOID                  SystemArgument1,
  [in, optional] __drv_aliasesMem PVOID SystemArgument2
);

Параметры

[in, out] Dpc

Указатель на структуру KDPC для объекта DPC. Эта структура должна быть инициализирована keInitializeDpc или KeInitializeThreadedDpc.

[in, optional] SystemArgument1

Задает определяемые драйвером контекстные данные. Это значение передается в качестве параметра SystemArgument1 в подпрограмму CustomDpc или CustomThreadedDpc объекта DPC.

[in, optional] SystemArgument2

Задает определяемые драйвером контекстные данные. Это значение передается в качестве параметра SystemArgument2 в подпрограмму CustomDpc или CustomThreadedDpc объекта DPC.

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

Если указанный объект DPC в настоящее время отсутствует в очереди DPC, KeInsertQueueDpc помещает DPC в очередь и возвращает значение TRUE.

Комментарии

Если указанный объект DPC уже поставлен в очередь, операция не выполняется, кроме как возвращать значение FALSE. В противном случае объект DPC вставляется в очередь DPC. Дополнительные сведения об очередях DPC см. в разделе Организация очередей DPC.

Обратите внимание, что конкретный объект DPC и функция, которую он представляет, могут быть поставлены в очередь для выполнения только один раз в любое определенное время.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень
Правила соответствия DDI HwStorPortProhibitedDIs(storport), MarkingQueuedIrps(wdm)

См. также раздел

CustomDpc

CustomThreadedDpc

KeInitializeDpc

KeRemoveQueueDpc